如下说明是翻译
PowerShell
中
: help Get-Date
产生的帮助信息
.
译者
: Edengundam(
马涛
)
Get-Date
大纲
取得当前的日期和时间
.
语法
Get-Date [[-date] <DateTime>] [-displayHint {<Date> | <Time> | <DateTime>}] [-format <string>] [-year <int>] [-month <int>] [-day <int>] [-hour <int>] [-minute <int>] [-second <int>] [<CommonParameters>]
Get-Date [[-date] <DateTime>] [-displayHint {<Date> | <Time> | <DateTime>}] [-uFormat <string>] [-year <int>] [-month <int>] [-day <int>] [-hour <int>] [-minute <int>] [-second <int>] [<CommonParameters>]
详细描述
取得当前的日期和时间
.
参数
-date <DateTime>
指定日期和时间
.
默认情况下
, Get-Date
取得当前系统日期和时间
.
强制参数
?
|
false
|
参数位置
?
|
1
|
默认值
|
|
允许从管道绑定输入
?
|
true (
根据值
,
根据属性名
)
|
允许通配符扩展
?
|
false
|
-displayHint <DisplayHintType>
确定日期和时间中哪些元素被显示
. (
此选项不影响
Get-Date
返回的
DateTime
对象
.)
合法值
:
·
date:
只显示日期
·
time:
只显示时间
·
datetime:
显示日期和时间
如下列出此参数可接受的值
:
·
Date
·
Time
·
DateTime
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-format <string>
根据
.Net
格式的格式说明符显示日期和时间
. <String>
表示格式说明符
. MSDN
中关于
System.Globalization.DateTimeFormatInfo
类的主题包含了可以使用的格式说明符
.
当你使用
-format
时
, Windows PowerShell
只会根据你指定的日期格式取得所需要的
DateTime
对象的属性
.
因此
, DateTime
对象上的某些属性和方法将无法使用
. (
译注
:
此参数导致
Get-Date
返回字符串
)
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-uFormat <string>
按照
Unix
格式显示日期和时间
.
附加注释中包含关于格式说明符的列表
.
当你使用
-uformat
时
, Windows PowerShell
只会根据你指定的日期格式取得所需要的
DateTime
对象的属性
.
因此
, DateTime
对象上的某些属性和方法将无法使用
. (
译注
:
此参数导致
Get-Date
返回字符串
)
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-year <int>
指定显示的年份
.
输入从
1
到
9999
的值
.
用此值代替当前年进行显示
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-month <int>
指定显示的月份
.
输入从
1
到
12
的值
.
用此值代替当前月份进行显示
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-day <int>
指定显示的日期
.
输入从
1
到
31
的值
.
用此值代替当前日期进行显示
.
如果指定的值大于该月份的天数
, Windows PowerShell
会将该天数添加到此月份并显示结果
.
例如
: "get-date -month 2 -day 31"
将会显示
"March 3",
而非
"February 31".
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-hour <int>
指定显示的小时数
.
输入从
1
到
23
的值
.
用此值代替当前小时进行显示
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-minute <int>
指定显示的分钟数
.
输入从
1
到
59
的值
.
用此值代替当前分钟进行显示
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-second <int>
指定显示的秒数
.
输入从
1
到
59
的值
.
用此值代替当前秒进行显示
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
<
公共参数
>
此命令支持公共参数
: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable.
更多信息
,
输入
, "get-help about_commonparameters".
注意
更多信息
,
输入
"Get-Help Get-Date -detailed".
需要技术信息
,
输入
"Get-Help Get-Date -full".
如果需要为该命令提供多个参数
,
请使用逗号进行分隔
.
例如
, "<parameter-name> <value1>, <value2>".
Uformat Values
:
下面是
-Uformat
参数的值
.
命令的格式为
:
get-date -uformat %<value>
例如
:
get-date -format %d
Date-Time:
·
日期时间完整形式
(
默认
) (Friday, June 16, 2006 10:31:27 AM)
·
c
日期时间缩写形式
(Fri Jun 16 10:31:27 2006)
Date:
·
D mm/dd/yy
格式的日期
(06/14/06)
·
x locale
设置对应的标准日期格式
(09/12/07 for English-US)
Year:
·
C
世纪
(20 for 2006)
·
Y
四位数字格式的年
(2006)
·
y
两位数字格式的年
(06)
·
G
同
'Y'
·
g
同
'y'
Month:
·
b
缩写的月份名
(Jan)
·
B
完整的月份名
(January)
·
h
同
'b'
·
M
数值形式的月份
(06)
Week:
·
W
一年中的周数
(00-52)
·
V
一年中的周数
(01-53)
·
U
同
'W'
Day:
·
a
一周中的第几天
(
缩写形式
) (Mon)
·
A
一周中的第几天
(
完整的形式
) (Monday)
·
u
一周中的第几天
(
数值
) (Monday = 1)
·
d
月份中的第几天
(
两位数字格式
) (05)
·
e
月份中的第几天
(
不足两位前导空格
) ( 5)
·
j
一年中的第几天
- (1-366)
·
w
同
'u'
Time:
·
p AM
或
PM
·
r
十二小时小时为单位的时间格式
(09:15:36 AM)
·
R
二十四小时为单位的时间格式
(
不显示秒数
) (17:45)
·
T
二十四小时为单位的时间格式
(17:45:52)
·
X
同
'T'
·
Z
距离
UTC
的时区便宜
(-07)
Hour:
·
H
二十四小时格式下的小时数
(17)
·
I
十二小时格式下的小时数
(05)
·
k
同
'H'
·
l
同
'I' (Upper-case I = Lower-case L)
Minutes & Seconds:
·
m
分钟
(35)
·
S
秒
(05)
·
s
从
1970
年
1
月
1
日
00:00:00
开始
,
流逝的秒数
(1150451174.95705)
Special Characters:
·
n
换行字符
(/n)
·
t Tab
自如
(/t)
例
1
C:/PS>get-date -DisplayHint date
此参数取得
DateTime
对象
,
但是只显示日期
.
它使用参数
-DisplayHint
指示应该只显示日期
.
Tuesday, June 13, 2006
例
2
C:/PS>get-date -format g
此命令取得当前的日期和时间
,
并将其格式为短日期和短时间格式
.
它使用了
.NET
的格式说明符
"g" (General (
短日期和短时间
))
指定格式
.
6/13/2006 12:43 PM
例
3
C:/PS>get-date -uformat "%Y / %m / %d / %A / %Z"
此命令取得当前日期和时间
,
并将其格式化为命令指定格式
.
此示例中
,
格式中包含了完整的年份
(%Y),
两位数字的月份
(%m),
日期
(%d),
一周第几天的完整名称
(%A)
和相对
UTC
时间的偏差
("Zulu").
2006 / 06 / 13 / Tuesday / -07
例
4
C:/PS>(get-date -year 2000 -month 12 -day 31).dayofyear
此命令显示当前日期在一年中的第几天
.
例如
, 12
月
31
日是
2006
年的第
365
天
,
但是对于
2000
年
,
就是第
366
天
.
366
例
5
C:/PS>$a = get-date
$a.IsDaylightSavingTime()
此命令用来告知当前日期和时间是否已经调整为当前区域设置对应的夏令时
.
第一个命令将会创建名为
$a
的变量
,
然后将
Get-Date
返回的对象赋值给此变量
.
接下来它调用
$a
中对象上的方法
IsDaylightSavingTime.
要查看
DateTime
对象的属性和方法
,
键入
"get-date get-member".
True
例
6
C:/PS>$a = get-date
$a.ToUniversalTime()
这些命令将当前日期时间转换为
UTC
时间
.
第一个命令创建名为
$a
的变量
,
然后将
Get-Date
返回的对象赋值给此变量
.
接下来它调用
$a
中对象上的方法
ToUniversalTime.
Tuesday, June 13, 2006 8:09:19 PM
例
7
C:/PS>$a = get-wmiobject win32_bios -computer server01
$a | format-list -property Name, @{Label="BIOS Age"; `
Expression={(get-date) - $_.ConvertToDateTime($_.ReleaseDate)}}
Windows Management Instrumentation (WMI)
使用了与
Get-Date
返回的
.NET
对象不同的日期时间对象
.
要在使用
Get-Date
返回日期时间信息的命令中使用
WMI
返回的日期时间信息
,
你必须调用
ConvertToDateTime
方法将
WMI
的
CIM_DATETIME
对象转换为一个
.NET DateTime
对象
.
示例中的命令显示了一台远程计算机
Server01
上的
BIOS
名称和
age.
第一条命令使用
Get-WmiObject cmdlet
取得
Server01
上
Win32_BIOS
类的实例
,
并将其存储在变量
$a
中
.
第二个命令使用管道运算符
(|)
将存储在
$a
中的
WMI
对象发送给
Format-List
cmdlet. Format-List
命令的
-Property
参数指定了两个显示列表的属性
: "Name"
和
"BIOS Age".
属性
"BIOS Age"
是通过一个哈希表指定的
.
此哈希表中包含
Label
键
(
它指定属性的名称
),
以及
Expression
键
(
包含计算
BIOS age
的表达式
). Expression
使用了
ConvertToDateTime
方法将
ReleaseDate
实例转化为
.NET
的
DateTime
对象
.
然后
,
它被
Get-Date cmdlet
返回的当前日期
(
不指定参数时
, Get-Date
返回当前日期时间
)
减去
.
反引号
(`)
在
Windows PowerShell
中表示行继续符
.
Name : Default System BIOS
BIOS Age : 1345.17:31:07.1091047
相关链接
Set-Date
New-TimeSpan