【问题标题】:How to make LastWriteTime return culture sensitive date string如何使 LastWriteTime 返回文化敏感日期字符串
【发布时间】:2015-06-25 12:21:33
【问题描述】:

我有这个:

$LogfileInfo = Get-Item C:\windows
$LogfileInfo.LastWriteTime
"Explaining Text: " + $LogfileInfo.LastWriteTime

第 2 行输出为:

21. maj 2015 13:44:45

第 3 行输出为:

Explaining Text: 05/21/2015 13:44:45

它改变了输出,即使它是同一个变量!?

如何获得第 2 行输出(命名月份,而不是反转日/月),但前面有文本,如第 3 行?

【问题讨论】:

    标签: date powershell output


    【解决方案1】:

    System.DateTime 的默认输出是 DateTime:

    "Explaining Text: " + $LogfileInfo.LastWriteTime.DateTime
    

    【讨论】:

    • 谢谢。完美运行。现在的输出是:“解释文本:21. maj 2015 13:44:45”
    【解决方案2】:

    在某些时候,DateTime 值会转换为字符串。根据执行此操作的时间,可以应用当前文化和默认格式的不同设置。

    $LogfileInfo.LastWriteTime
    

    到字符串的转换是在 PSH 的 out-default 内完成的,它适用于任何管道,其末尾没有另一个 out-… cmdlet。这将使用System.DateTime 的默认格式定义(.format.ps1xml 文件)。

    但是在

    "Explaining Text: " + $LogfileInfo.LastWriteTime
    

    转换发生在字符串生成时。

    尝试将第一个替换为

    $LogfileInfo.LastWriteTime.ToString()
    

    你应该得到与第一个相同的格式。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-12
    • 2021-10-23
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2020-12-10
    • 2023-04-07
    • 2013-04-05
    相关资源
    最近更新 更多