强制Get-Date使用“/”作为日期分隔符

3
我该如何使Get-Date命令输出日期分隔符为“/”?需要使用en-US格式的日期。似乎PowerShell始终会使用区域设置,而不管指定的格式是什么。在我的系统上,它被设置为“-”,但我需要用“/”来生成日期。
PS C:\src> Get-Date -Format MM/dd/yyyy
06-26-2017
PS C:\src> Get-Date -Format "MM/dd/yyyy"
06-26-2017
PS C:\src> Get-Date -Format 'MM/dd/yyyy'
06-26-2017
PS C:\src> Get-Date -Format "MM`/dd`/yyyy"
06-26-2017

我的电脑上日期的分隔符被设置为“-”。我找不到Set-UICulture命令。

PS C:\src> (Get-UICulture).DateTimeFormat.DateSeparator
-

1
在你的机器上,Get-Date -Format "MM/dd/yyyy" 的输出是什么? - G42
现代版本的PowerShell让人们变得非常懒惰和马虎。在处理字符串时,引号是你的好朋友。 - thepip3r
使用引号并不会改变结果。也许我不懒惰,也不马虎。 - lit
可能是...但也可能不是。 - thepip3r
1个回答

5
在格式字符串中,/代表当前UICulture日期分隔符。要强制它明确地成为/字符,您必须使用\字符进行转义:
Get-Date -Format "MM\/dd\/yyyy"

1
我认为在PowerShell中的转义字符是GRAVE ACCENT(也称为反引号)。这确实有效。谢谢。 - lit
2
一些命令在其模式中使用正则表达式;这需要反斜线(这是正则表达式的标准符号)。反撇号用于模式是PowerShell特定的情况。 - Jeff Zeitlin
如果这个解决了你的问题,你可以通过接受答案(在上下投票下面的复选标记)来表示。这将标记问题已解决(顺便给我一些声望积分)。 - Jeff Zeitlin
我一直在尝试将其标记为答案。SO强制你等待10分钟才能将其标记为答案。 - lit
2
这不是一个正则表达式 - 反斜杠是自定义格式字符串的一部分。请参阅https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings#escape - Jon Skeet
啊,我不知道有超时限制。 :) - Jeff Zeitlin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接