次の方法で共有


Set-Date

指定する時刻にコンピューターのシステム時刻を変更します。

構文

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

説明

Set-Date コマンドレットは、コンピューター上のシステムの日付と時刻を、指定した日付と時刻に変更します。

新しい日付や時刻を指定するには、文字列を入力するか、 DateTime または TimeSpan オブジェクトを Set-Dateに渡します。 新しい日付または時刻を指定するには、 Date パラメーターを使用します。 変更間隔を指定するには、 Adjust パラメーターを使用します。

システムの日付と時刻を変更するには、管理者権限が必要です。 Windows で、 Run as administrator オプションを使用して PowerShell を起動します。

例 1: システム日付に 3 日を追加する

このコマンドは、現在のシステム日付に 3 日加算します。 時間には影響しません。 このコマンドでは、 Date パラメーターを使用して日付を指定します。

Get-Date コマンドレットは、現在の日付を 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に格納します。

2 番目のコマンドでは、Date パラメーターを使用して、$TDateTime オブジェクトを Set-Date コマンドレットに渡します。

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

例 4: システム クロックに 90 分を追加する

これらのコマンドは、ローカル コンピューターのシステム時刻を 90 分進めます。

最初のコマンドでは、 New-TimeSpan コマンドレットを使用して、90 分間隔で TimeSpan オブジェクトを作成し、 $90mins 変数に保存します。

2 番目のコマンドでは、Set-DateAdjust パラメーターを使用して、$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

このコマンドレットが現在の日付と時刻を加算または減算する値を指定します。 ロケールの標準の日時形式で調整を入力するか、 Adjust パラメーターを使用して TimeSpan オブジェクトを New-TimeSpan から Set-Dateに渡すことができます。

型:TimeSpan
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Date

指定した値に日付と時刻を変更します。 新しい日付をロケールに対応する短い日付形式で、時刻をロケールに対応する標準の時刻形式で入力できます。 または、Get-Dateから DateTime オブジェクトを渡すことができます。

日付を指定したが、時刻を指定しない場合、 Set-Date は指定した日付の午前 0 時に時刻を変更します。 時刻のみを指定した場合、日付は変更されません。

型:DateTime
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-DisplayHint

表示する日付と時刻の要素を指定します。 このパラメーターの有効値は、次のとおりです。

  • Date - 日付のみを表示します。
  • Time - 時刻のみを表示します。
  • DateTime - 日付と時刻を表示します。

このパラメーターは、表示のみに影響します。 Get-Date取得するDateTime オブジェクトには影響しません。

型:DisplayHintType
指定可能な値:Date, Time, DateTime
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

DateTime

このコマンドレットに日付をパイプできます。

出力

DateTime

このコマンドレットは、設定した日付を表すオブジェクトを返します。

メモ

  • コンピューターの日付と時刻を変更する場合は、このコマンドレットを慎重に使用してください。 変更によって、コンピューターが、日付または時刻に基づいてトリガーされるシステム全体のイベントと更新を受信できなくなる可能性があります。 エラーを回避するには、 WhatIf パラメーターと Confirm パラメーターを使用します。
  • AddDaysAddMonthsFromFileTime など、Set-Dateで使用される DateTime および TimeSpan オブジェクトで標準の .NET メソッドを使用できます。 詳細については、.NET SDK の DateTime メソッド および TimeSpan メソッド を参照してください。