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 参数允许以区域设置的标准时间格式指定更改间隔(减十分钟)。

DisplayHint 参数指示 PowerShell 仅显示时间,但不会影响返回的 DateTime 对象 Set-Date

Set-Date -Adjust -0:10:0 -DisplayHint Time

示例 3:将日期和时间设置为变量值

这些命令将本地计算机上的系统日期和时间更改为保存在变量 $T 中的日期和时间。 第一个命令获取日期并将它存储在 $T 中。

第二个命令使用 Date 参数将 $T 中的 DateTime 对象传递给 Set-Date cmdlet。

$T = Get-Date
Set-Date -Date $T

示例 4:将系统时钟加上 90 分钟

这些命令将本地计算机上的系统时间前调 90 分钟。

第一个命令使用 New-TimeSpan cmdlet 创建间隔为 90 分钟的 TimeSpan 对象,并将其保存在 $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 - 显示日期和时间。
  • 此参数仅影响显示内容。 它不会影响检索的 DateTime 对象 Get-Date

    类型: DisplayHintType 接受的值:Date, Time, DateTime Position:Named 默认值:None 必需:False 接受管道输入:False 接受通配符:False

    -WhatIf

    显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

    类型: SwitchParameter 别名:wi Position:Named 默认值:False 必需:False 接受管道输入:False 接受通配符:False

    DateTime

    可以通过管道将日期传递给此 cmdlet。

    DateTime

    此 cmdlet 返回一个表示它所设置的日期的对象。

  • 更改计算机上的日期和时间时请慎用此 cmdlet。 此更改可能会使计算机无法接收由日期或时间触发的系统范围内的事件和更新。 使用 WhatIf 和 Confirm 参数可避免出现错误。
  • 可以使用标准 .NET 方法以及与 Set-Date 一起使用的 DateTime 和 TimeSpan 对象,例如 AddDays、AddMonths 和 FromFileTime。 有关详细信息,请参阅 .NET SDK 中的 DateTime 方法 TimeSpan 方法
  • Get-Date
  • New-TimeSpan
  •