Set-Date

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

语法

Date (默认值)

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

Adjust

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

说明

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

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

必须具有管理权限才能更改系统日期和时间。 在Windows,使用 Run 作为管理员选项启动 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 仅显示时间,但不会影响返回的 DateTime 对象Set-Date。

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

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

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

第二个命令使用 Date 参数将 DateTime 对象$TSet-Date传入 cmdlet。

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

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

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

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

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

$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
默认值:None
支持通配符:False
不显示:False

参数集

Adjust
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Confirm

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

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:Cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Date

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

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

参数属性

类型:DateTime
默认值:None
支持通配符:False
不显示:False

参数集

Date
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-DisplayHint

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

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

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

参数属性

类型:DisplayHintType
默认值:None
接受的值:Date, Time, DateTime
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

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

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。

输入

DateTime

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

输出

DateTime

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

备注

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