Set-Date

将计算机上的系统时间更改为你指定的时间。

语法

Set-Date
   [-Date] <DateTime>
   [-DisplayHint <DisplayHintType>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Date
   [-Adjust] <TimeSpan>
   [-DisplayHint <DisplayHintType>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

cmdlet Set-Date 会将计算机上的系统日期和时间更改为指定的日期和时间。

可以通过键入字符串或将 DateTimeTimeSpan 对象传递给 Set-Date来指定新的日期和/或时间。 若要指定新的日期或时间,请使用 Date 参数。 若要指定更改间隔,请使用 Adjust 参数。

示例

示例 1:向系统日期添加三天

此命令将在当前系统日期上加上三天。 它不影响时间。 命令使用 Date 参数指定日期。

cmdlet Get-Date 将当前日期作为 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 参数将 DateTime 对象 $T 传递到 Set-Date cmdlet。

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

示例 4:向系统时钟添加 90 分钟

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

第一个命令使用 New-TimeSpan cmdlet 创建时间间隔为 90 分钟的 TimeSpan 对象,并将其保存在 变量中 $90mins

第二个命令使用 的 Set-DateAdjust 参数按变量中 $90minsTimeSpan 对象的值调整日期。

$90mins = New-TimeSpan -Minutes 90
Set-Date -Adjust $90mins

参数

-Adjust

指定此 cmdlet 从当前日期和时间添加或减去的值。 可以为区域设置键入标准日期和时间格式的调整,或使用 Adjust 参数将 TimeSpan 对象从 New-TimeSpan 传递到 Set-Date

Type:TimeSpan
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Date

将日期和时间更改为指定值。 你可以采用短日期格式键入新日期,并以你的区域设置的标准时间格式键入时间。 或者,可以从 传递 DateTime 对象 Get-Date

如果指定日期而不是时间, Set-Date 请将时间更改为指定日期的午夜。 如果仅指定了时间,则不会更改日期。

Type:DateTime
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DisplayHint

指定显示日期和时间的元素。此参数的可接受值为:

  • Date - 仅显示日期。
  • Time - 仅显示时间。
  • DateTime - 显示日期和时间。

此参数仅影响显示内容。 它不会影响检索的 DateTime 对象 Get-Date

Type:DisplayHintType
Accepted values:Date, Time, DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

DateTime

可以通过管道将日期传递给 Set-Date

输出

DateTime

Set-Date 返回一个 对象,该对象表示它设置的日期。

备注

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