Set-Date
将计算机上的系统时间更改为指定的时间。
语法
Set-Date
[-Date] <DateTime>
[-DisplayHint <DisplayHintType>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Date
[-Adjust] <TimeSpan>
[-DisplayHint <DisplayHintType>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Set-Date
cmdlet 将计算机上的系统日期和时间更改为指定的日期和时间。
可以通过键入字符串或将 DateTime 或 TimeSpan 对象传递给 Set-Date
来指定新的日期和时间。 若要指定新的日期或时间,请使用 Date 参数。 若要指定更改间隔,请使用 Adjust 参数。
必须具有管理权限才能更改系统日期和时间。 在 Windows 上,使用 以管理员身份运行 选项启动 PowerShell。
示例
示例 1:向系统日期添加三天
此命令将三天添加到当前系统日期。 它不会影响时间。 该命令使用 Date 参数指定日期。
Get-Date
cmdlet 以 DateTime 对象的形式返回当前日期。
DateTime 对象的 AddDays 方法将指定的天数(3
)添加到当前 DateTime 对象。
Set-Date -Date (Get-Date).AddDays(3)
示例 2:将系统时钟设置回 10 分钟
本示例将当前系统时间设置回 10 分钟。
Adjust 参数允许指定区域设置的标准时间格式的更改间隔(减 10 分钟)。
DisplayHint 参数指示 PowerShell 仅显示时间,但它不会影响 Set-Date
返回的 DateTime 对象。
Set-Date -Adjust -0:10:0 -DisplayHint Time
示例 3:将日期和时间设置为变量值
这些命令将本地计算机上的系统日期和时间更改为变量中保存的日期和时间 $T
。 第一个命令获取日期并将其存储在 $T
中。
第二个命令使用 Date 参数将 $T
$T
中的 DateTime 对象传递给 Set-Date
cmdlet。
$T = Get-Date
Set-Date -Date $T
示例 4:向系统时钟添加 90 分钟
这些命令将本地计算机上的系统时间提前 90 分钟。
第一个命令使用 New-TimeSpan
cmdlet 创建 TimeSpan 对象,间隔为 90 分钟,并将其保存在 $90mins
变量中。
第二个命令使用 Set-Date
的 Adjust 参数根据 $90mins
变量中 TimeSpan 对象的值来调整日期。
$90mins = New-TimeSpan -Minutes 90
Set-Date -Adjust $90mins
5:更改为特定日期和时间
以下示例将日期和时间设置为特定值。
PS> Get-Date
Monday, June 10, 2024 2:05:48 PM
PS> Set-Date '6/11/2024 2:05:48 PM'
Tuesday, June 11, 2024 2:05:48 PM
参数
-Adjust
指定此 cmdlet 从当前日期和时间相加或减去的值。 可以为区域设置键入标准日期和时间格式的调整,或使用 Adjust 参数将 TimeSpan 对象从 New-TimeSpan
传递到 Set-Date
。
类型: | TimeSpan |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Confirm
在运行 cmdlet 之前,提示你进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Date
将日期和时间更改为指定的值。 可以按短日期格式键入新日期,并键入区域设置的标准时间格式的时间。 或者,可以从 Get-Date
传递 DateTime 对象。
如果指定日期而不是时间,Set-Date
将指定日期的时间更改为午夜。 如果仅指定一个时间,则不会更改日期。
类型: | DateTime |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-DisplayHint
指定显示日期和时间的元素。 此参数的可接受值为:
-
Date
- 仅显示日期。 -
Time
- 仅显示时间。 -
DateTime
- 显示日期和时间。
此参数仅影响显示。 它不会影响 Get-Date
检索的 DateTime 对象。
类型: | DisplayHintType |
接受的值: | Date, Time, DateTime |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 该 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将日期传递给此 cmdlet。
输出
此 cmdlet 返回一个对象,该对象表示它设置的日期。
备注
- 更改计算机上的日期和时间时,请谨慎使用此 cmdlet。 此更改可能会阻止计算机接收由日期或时间触发的系统范围事件和更新。 使用 WhatIf 和 确认 参数以避免错误。
- 可以将标准 .NET 方法与与
Set-Date
一起使用的 DateTime 和 TimeSpan 对象,例如 AddDays、AddMonths和 FromFileTime。 有关详细信息,请参阅 .NET SDK 中的 DateTime 方法 和 TimeSpan 方法。