$DST = Get-Date
$DST.IsDaylightSavingTime()
一个变量, $DST
存储 的结果 Get-Date
。 $DST
使用 IsDaylightSavingTime 方法测试日期是否针对夏令时进行调整。
示例 7:将当前时间转换为 UTC 时间
在此示例中,当前时间转换为 UTC 时间。 系统区域设置的 UTC 偏移量用于转换时间。 “备注”部分中的表列出了有效的 UFormat 格式说明符。
Get-Date -UFormat "%A %B/%d/%Y %T %Z"
$Time = Get-Date
$Time.ToUniversalTime()
Wednesday June/26/2019 10:45:26 -07
Wednesday, June 26, 2019 17:45:26
Get-Date
使用 UFormat 参数和格式说明符来显示当前系统日期和时间。 格式说明符 %Z 表示 -07 的 UTC 偏移量。
变量 $Time
存储当前系统日期和时间。 $Time
使用 ToUniversalTime () 方法根据计算机的 UTC 偏移量转换时间。
示例 8:创建时间戳
在此示例中,格式说明符为目录名称创建时间戳 String 对象。 时间戳包括日期、时间和 UTC 偏移量。
$timestamp = Get-Date -Format o | ForEach-Object { $_ -replace ":", "." }
New-Item -Path C:\Test\$timestamp -Type Directory
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 6/27/2019 07:59 2019-06-27T07.59.24.4603750-07.00
变量 $timestamp
存储命令的结果 Get-Date
。 Get-Date
使用 格式 说明符为小写 o
的 Format 参数创建时间戳 String 对象。 对象在管道 ForEach-Object
中向下发送到 。 ScriptBlock 包含$_
代表当前管道对象的变量。 时间戳字符串由用句点替换的冒号分隔。
New-Item
使用 Path 参数指定新目录的位置。 路径包含 $timestamp
变量作为目录名称。 Type 参数指定创建目录。
示例 9:转换 Unix 时间戳
此示例将 Unix 时间(由 1970-01-01 0:00:00 以来的秒数表示)转换为 DateTime。
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
示例 10:返回解释为 UTC 的日期值
此示例演示如何将日期值解释为其 UTC 等效值。 例如,此计算机设置为 太平洋标准时间。 默认情况下, Get-Date
返回该时区的值。 使用 AsUTC 参数将值转换为 UTC 等效时间。
PS> Get-TimeZone
Id : Pacific Standard Time
DisplayName : (UTC-08:00) Pacific Time (US & Canada)
StandardName : Pacific Standard Time
DaylightName : Pacific Daylight Time
BaseUtcOffset : -08:00:00
SupportsDaylightSavingTime : True
PS> (Get-Date -Date "2020-01-01T00:00:00").Kind
Unspecified
PS> Get-Date -Date "2020-01-01T00:00:00"
Wednesday, January 1, 2020 12:00:00 AM
PS> (Get-Date -Date "2020-01-01T00:00:00" -AsUTC).Kind
PS> Get-Date -Date "2020-01-01T00:00:00" -AsUTC
Wednesday, January 1, 2020 8:00:00 AM
-AsUTC
将日期值转换为 UTC 格式的等效时间。
此参数是在 PowerShell 7.1 中引入的。
Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Date
指定日期和时间。 Time 是可选的,如果未指定,则返回 00:00:00。
以系统区域设置的标准格式输入日期和时间。
例如,使用美国英语:
Get-Date -Date "6/25/2019 12:30:22"
返回 2019 年 6 月 25 日,星期二 12:30:22
Type:DateTime
Aliases:LastWriteTime
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
指定显示月份中的某一天。 输入一个介于 1 到 31 之间的值。
如果指定的值大于一个月中的天数,则 PowerShell 会将天数添加到月份。 例如, Get-Date -Month 2 -Day 31
显示 3 月 3 日,而不是 2 月 31 日。
Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DisplayHint
确定要显示日期和时间的哪些元素。
接受的值如下所示:
日期:仅显示日期
时间:仅显示时间
DateTime:显示日期和时间
采用格式说明符指示的 Microsoft .NET Framework 格式显示日期和时间。
Format 参数输出一个 String 对象。
有关可用 .NET 格式说明符的列表,请参阅 自定义日期和时间格式字符串。
使用 Format 参数时, Get-Date
仅获取显示日期所需的 DateTime 对象属性。 因此,DateTime 对象的某些属性和方法可能不可用。
从 PowerShell 5.0 开始,可以使用以下附加格式作为 Format 参数的值。
FileDate。 本地时间当前日期的文件或路径友好表示形式。 格式 (yyyyMMdd
区分大小写,使用 4 位年份、2 位数月份和 2 位日期) 。 例如:20190627。
FileDateUniversal。 世界时当前日期的文件或路径友好表示形式, (UTC) 。 格式 (yyyyMMddZ
区分大小写,使用 4 位年份、2 位数月份、2 位日期和字母 Z
作为 UTC 指示器) 。 例如:20190627Z。
FileDateTime。 以本地时间表示的当前日期和时间的文件或路径友好表示形式,格式为 24 小时。 格式 (yyyyMMddTHHmmssffff
区分大小写,使用 4 位年份、2 位数月份、2 位日期、字母 T
作为时间分隔符、2 位数小时、2 位分钟、2 位数秒和 4 位毫秒) 。 例如:20190627T0840107271。
FileDateTimeUniversal。 当前日期和时间的文件或路径友好表示形式(以世界时 (UTC) ,采用 24 小时格式)。 格式 (yyyyMMddTHHmmssffffZ
区分大小写,使用 4 位年份、2 位数月份、2 位日期、字母 T
作为时间分隔符、2 位数小时、2 位数分钟、2 位数秒、4 位数毫秒,并将字母 Z
用作 utc 指示器) 。 例如:20190627T1540500718Z。
采用 UNIX 格式显示日期和时间。 UFormat 参数输出字符串对象。
UFormat 说明符前面是百分号 (%
) ,例如 、 %m
%d
和 %Y
。 Notes 部分包含有效的 UFormat 说明符表。
使用 UFormat 参数时, Get-Date
仅获取显示日期所需的 DateTime 对象的属性。 因此,DateTime 对象的某些属性和方法可能不可用。
Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-UnixTimeSeconds
日期和时间表示自 1970 年 1 月 1 日 0:00:00 以来的秒数。
此参数是在 PowerShell 7.1 中引入的。
Type:Int64
Aliases:UnixTime
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Year
指定要显示的年份。 输入 1 到 9999 的值。
Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
DateTime
可以通过管道将 DateTime 对象传递给此 cmdlet。
DateTime
默认情况下,此 cmdlet 返回 DateTime 对象。
将 DateTime 对象向下发送到需要字符串输入的 cmdlet 时 Add-Content
,PowerShell 会将该对象转换为 String 对象。
方法 (Get-Date).ToString()
将 DateTime 对象转换为 String 对象。
若要显示对象的属性和方法,请将对象从管道向下发送到 Get-Member
。
例如 Get-Date | Get-Member
。
String
使用 Format 或 UFormat 参数时,此 cmdlet 返回 String 对象。
对于系统区域设置,DateTime 对象采用长日期和长时间格式。
下表中显示了有效的 UFormat 说明符 :
UFormat 说明符在较新版本的 PowerShell 中更改或添加。 例如, %F
已在 PowerShell 6.2 中添加,因此在 Windows PowerShell 5.1 或更高版本中不可用。 在设计为在多个 PowerShell 版本上运行的脚本中使用 UFormat 说明符时,请记住这一点。