当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 日期、时间和格式

作者:精品下载站 日期:2024-12-14 07:44:11 浏览:16 分类:玩电脑

PowerShell 日期、时间和格式


[玩转系统] PowerShell 日期、时间和格式

因此,为了让我的生活(也许也是你的)更轻松,我编写了一个小 PowerShell 脚本来提醒我可能的值。

$patterns = "d","D","g","G","f","F","m","o","r","s", "t","T","u","U","Y","dd","MM","yyyy","yy","hh","mm","ss","yyyyMMdd","yyyyMMddhhmm","yyyyMMddhhmmss"

Write-host "It is now $(Get-Date)" -ForegroundColor Green

foreach ($pattern in $patterns) {
#display text
"{0}`t{1}" -f $pattern,(Get-Date -Format $pattern)

} #foreach

Write-Host "Most patterns are case sensitive" -ForegroundColor Green

变量 $patterns 是常用日期时间格式值的数组。其中许多内容是从 MSDN 页面中提取的,但我在最后添加了一些我自己的内容。这是该脚本的输出。

[玩转系统] PowerShell 日期、时间和格式

这看起来不错,而且绝对是一个不错的备忘单。但后来我意识到,既然我正在编写一个脚本,我应该将其提升到一个新的水平,并向管道写入一个有用的对象。

$patterns = "d","D","g","G","f","F","m","o","r","s", "t","T","u","U","Y","dd","MM","yyyy","yy","hh","mm","ss","yyyyMMdd","yyyyMMddhhmm","yyyyMMddhhmmss"

Write-host "It is now $(Get-Date)" -ForegroundColor Green

foreach ($pattern in $patterns) {

#create an Object
[pscustomobject]@{
 Pattern = $pattern
 Syntax = "Get-Date -format '$pattern'"
 Value = (Get-Date -Format $pattern)
}

} #foreach

Write-Host "Most patterns are case sensitive" -ForegroundColor Green

此版本为每个模式创建一个自定义对象,包括语法。

[玩转系统] PowerShell 日期、时间和格式

-Format 的替代方法是使用 ToStringMethod() 指定格式模式。

PS C:\> (get-date).ToString('o')
2014-10-08T07:58:46.0376740-04:00

因为这是一个对象,所以我可以将其通过管道传递给其他 cmdlet。

C:\scripts\Test-DatePattern.ps1 | format-table

[玩转系统] PowerShell 日期、时间和格式

我包含了语法,因此您所需要做的就是复制和粘贴。或者说,这个怎么样?

Function Insert-Pattern {
C:\scripts\Test-DatePattern.ps1 | Out-GridView -Title "Select a format" -OutputMode Single |
foreach {
  $psise.CurrentFile.Editor.InsertText($_.Syntax)
}
}

在 PowerShell ISE 中定义此函数,甚至可以使用键盘快捷键将其添加到您的附加组件菜单中。执行时,您将使用 Out-Gridview 获得图形显示。

[玩转系统] PowerShell 日期、时间和格式

选择一种模式,语法就会粘贴到您的 PowerShell 脚本中。我喜欢让 PowerShell 为我完成工作!享受。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯