Ken*_*n J 11 powershell time timezone
我正在尝试使用TimeZone在我的系统上显示本地时间.如何以最简单的方式在任何系统上以这种格式显示时间?:
时间:美国东部时间上午8:00:34
我目前正在使用以下脚本:
$localtz = [System.TimeZoneInfo]::Local | Select-Object -expandproperty Id
if ($localtz -match "Eastern") {$x = " EST"}
if ($localtz -match "Pacific") {$x = " PST"}
if ($localtz -match "Central") {$x = " CST"}
"Time: " + (Get-Date).Hour + ":" + (Get-Date).Minute + ":" + (Get-Date).Second + $x
Run Code Online (Sandbox Code Playgroud)
我希望能够在不依赖简单逻辑的情况下显示时间,但能够在任何系统上提供本地时区.
Shi*_*umi 10
虽然这可能有点天真,但这是获得没有switch语句的缩写的一种方法:
[Regex]::Replace([System.TimeZoneInfo]::Local.StandardName, '([A-Z])\w+\s*', '$1')
Run Code Online (Sandbox Code Playgroud)
我的正则表达式可能会留下一些不足之处.
我的时区的上述输出是EST.我做了一些看,因为我想知道其他GMT偏移设置的价值是什么,但.NET似乎没有DateTime和之间的非常好的链接TimeZoneInfo,所以我不能只是以编程方式运行它们全部检查.对于某些返回的字符串,这可能无法正常工作StandardName.
编辑:我做了一些更多的研究改变了我的计算机上的时区手动检查这个和TimeZoneInfo为GMT+12如下所示:
PS> [TimeZoneInfo]::Local
Id : UTC+12
DisplayName : (GMT+12:00) Coordinated Universal Time+12
StandardName : UTC+12
DaylightName : UTC+12
BaseUtcOffset : 12:00:00
SupportsDaylightSavingTime : False
Run Code Online (Sandbox Code Playgroud)
这为我的代码产生了这个结果:
PS> [Regex]::Replace([System.TimeZoneInfo]::Local.StandardName, '([A-Z])\w+\s*', '$1')
U+12
Run Code Online (Sandbox Code Playgroud)
所以,我猜你必须检测StandardName看起来是一组单词还是只是偏移指定,因为它没有标准名称.
美国境外问题较少的人似乎遵循三字格式:
PS> [TimeZoneInfo]::Local
Id : Tokyo Standard Time
DisplayName : (GMT+09:00) Osaka, Sapporo, Tokyo
StandardName : Tokyo Standard Time
DaylightName : Tokyo Daylight Time
BaseUtcOffset : 09:00:00
SupportsDaylightSavingTime : False
PS> [Regex]::Replace([System.TimeZoneInfo]::Local.StandardName, '([A-Z])\w+\s*', '$1')
TST
Run Code Online (Sandbox Code Playgroud)
你应该研究DateTime格式字符串.虽然我不确定他们是否可以返回时区短名称,但您可以轻松获得UTC的偏移量.
$formatteddate = "{0:h:mm:ss tt zzz}" -f (get-date)
Run Code Online (Sandbox Code Playgroud)
返回:
8:00:34 AM -04:00
Run Code Online (Sandbox Code Playgroud)
不愿意定义另一种日期时间格式!使用现有的,例如RFC 1123。甚至还有一个 PowerShell 快捷方式!
Get-Date -format r
Run Code Online (Sandbox Code Playgroud)
2012 年 6 月 14 日星期四 16:44:18 GMT
参考:获取日期
| 归档时间: |
|
| 查看次数: |
58175 次 |
| 最近记录: |