string - 在powershell中将字符串转换为24小时时间格式

标签 string powershell time

我在将某些字符串短时间值转换为 24 小时时间格式时遇到问题。

在脚本中,我有以下 foreach 循环来解析 csv 中的每一行数据:

Foreach ($Line in $Data) {
    $command.CommandText=$SQLCommandPre+ `
        "'"+$line."Reference" `
        +"','"+$line."Date" `
        +"','"$line."Business Hour".SubString(0,8) `
        +"','"+"{0:f2}" -f ($line."Total"/2) `
    +"','"+"{0:f0}" -f ($line."Number"/2) `
    +"')"
    [void] $command.ExecuteNonQuery()
}

例如,我的源数据是:

0101,8/19/2012,12:00 AM - 12:59 AM,241.83,21

目前在脚本中它只是抓取上午 12 点,但我需要转换为 00:00。我尝试使用以下命令,但它对 powershell 创建的查询没有影响:

"{0:HH:mm}" -f ($line."Business Hour".SubString(0,8))

我一直无法找到另一种方法来实现我的目标。

最佳答案

在尝试格式化之前,请确保将检索到的字符串转换为 [DateTime] 对象,例如:

C:\PS> "{0:HH:mm}" -f [datetime]'12:00 AM'
00:00

关于string - 在powershell中将字符串转换为24小时时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162702/

相关文章:

xml - PowerShell - 格式化 XML 输出

windows - 通过 TeamCity 执行时 dos2unix 格式转换错误

ios - 如何使被替换的 NSString 保留其一些旧字符?

string - 错误 'A value of type ' dynamic' 无法分配给 'String' 类型的变量。在 Dart 2.2

python - PowerShell 和 Python 中的 AES 加密

c++ - 如何更改 C++ 中字符串的大小写?

c - 文件修改时间作为 C 中的整数

C++ 使用 std::chrono 以一种很好的方式测量成员函数的执行

sql - 将字符串与表中的数据进行比较

c# - 转义字符串中的双引号