如何格式化PowerShell脚本的日期输出

时间:2017-08-03 20:12:34

标签: powershell date datetime formatting format

我创建了这个脚本:

$olFolderInbox = 6
$outlook = New-Object -Com Outlook.Application;
$ns = $outlook.GetNameSpace("MAPI");
$inbox = $ns.GetDefaultFolder($olFolderInbox)
$inbox.Items | foreach {
    "$($_.SenderEmailAddress)%$($_.Subject)%$($_.CreationTime)" |
        Out-File x:\zzz\ccc\test.csv -Append
}

我希望将日期时间格式化为英国格式的日期。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

ToString功能用于更改数字,日期等格式。Here's a list of common codes you might be interested in looking at

"$($_.SenderEmailAddress)%$($_.Subject)%$($_.CreationTime.ToString('d'))" |
    Out-File x:\zzz\ccc\test.csv -Append

仅使用列表中的一个字母将为您提供该特定模式。如果指定多个,则表示您需要自定义模式。例如,d将为您提供:8/3/2017yyyy.dd.mm会为您提供自定义模式:2017.03.08

多次使用字母会更改如何解释该特定代码。 d(当天)的示例:

  
      
  1. dd:14
  2.   
  3. ddd:周四
  4.   
  5. dddd:星期四
  6.   

这意味着你可以像你想要的那样弹道:  ToString("dddd MMMM d, yyyy"))

答案 1 :(得分:0)

为了扩展Zach的答案,您可以以类似的方式使用格式运算符-f

"{0:dd}/{0:MM}/{0:yy}" -f (get-date)

如果你在英国,你可能对运行日期时间对象的方法感到好运

$date.ToShortDateString()

我的机器设置为美国英语,虽然m / d / y

但它给我的是美国版本