このページの本文へ

前へ 1 2 次へ

Windows Info 第347回

PowerShellで任意の日付を計算する

2022年10月02日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 コンピュータの前にずっと座っていると、ときどき時間の感覚が鈍くなって、「はて、今日は何日だったか」なんて考えることがある。今ではPCで簡単に時刻やカレンダーを見ることができる。端末からコンピューターを使っていた時代なら、日付やカレンダーを表示するコマンドがあった。

 単純に今の日付や時刻、カレンダーがわかっても、たとえば「160日後に失効します」なんて通知が表示されたとき、その日を計算するのは面倒だ。Windowsの電卓には、「日付の計算」があるが、スタートメニューを開いて、電卓を起動、切り替えて数値を入力というのも手間である。コンピューターなんだから、日付の計算ぐらい簡単に済ませたい。

Windows 10/11標準の電卓には日数計算の機能はあるが、「2つの日付の差」と「日付の加算、減算」しか計算できない

 この連載の今年最初の記事(「PowerShellでWindowsが起動してからの時間を計算する」)で、Windowsの起動時間をPowerShellで計算する方法を紹介したが、日付に関してはきちんと説明してなかった。そこで今回は、Get-Dateコマンドと日付の計算をする方法を解説する。

コマンドラインで日付を得る

 cmd.exeには、日付の計算機能が標準では備わっていないので、ここではWindows PowerShellを使う(PowerShellでも同じ)。まずは今日の日付だが、これは「Get-Date」コマンドで表示できる。なお、Get-Dateは、Dateと略すことも可能だ(ただし、Date.exeなどがPathに存在しない場合)。

 Get-Dateだけを実行すると、現在の日時が表示されるが、これは、「設定」→「時刻と言語」→「言語と地域」→「地域設定」にある「日付(長い形式)」による表示。設定を変更すれば、他の形式でも可能だ。

 この形式、以前のWindowsでは、書式指定文字で指定できたのだが、現在はいくつかのパターンから選ぶようになっている。長くはなるが、できれば曜日も表示させたい。パターンから選んでもいいが、書式指定がわかるなら、レジストリで好みのパターンに変更できる。現在設定されている「日付(長い形式)」は、

get-ItemProperty 'HKCU:\Control Panel\International\' slongDate

で表示できる。

get-dateは標準では、曜日を表示しないが「設定」→「時刻と言語」→「言語と地域」→「地域設定」にある「日付(長い形式)」の書式を変更することで曜日を表示できるようになる。また、レジストリを操作すると、より細かく書式の設定が可能

 たとえば、「2022年10月2日 10時00分 日曜日」のようなパターンにしたいのであれば、

Set-ItemProperty 'HKCU:\Control Panel\international' -name sLongDate -Value "yyyy'年'MM'月'dd'日 'dddd"

とする。これでget-dateを実行すると、曜日が表示されるようになる(PowerShellは再起動が必要)。

 以後の解説では、この形式であることを前提にしている。なお、一部のアプリケーションは、日付文字列が長すぎると表示がおかしくなったり、落ちてしまうというヒドイ作りになっていることがある。変更はご自身のリスクで実行してほしい。

 なお、英語表記でもよければ、前記のレジストリ設定を行わなくても「get-date -Format 'r'」で、RFC1123形式が出力され、先頭に曜日がある。

 get-dateコマンドの「-Format」オプションには、日付書式文字を指定できる。これは、.NET Frameworkと同じで、標準では下の表のような表示パターンが指定できる。

 なお、細かく書式を指定するときには「カスタム日時指定文字列」を使う。これについては、以下に解説がある。

●カスタム日時形式文字列
 https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/custom-date-and-time-format-strings

続いては任意の日付を得る

 get-dateは、そのままでは現在日時を返すが、特定の日時を指定したいこともあるだろう。たとえば、「2022年1月1日」を指定する場合、簡単な方法として、

get-date '2022/1/1'

とする。シングルクオートの中の書式は意外に自由が利く。たとえば'2022年1月1日'でもいいし、'1 Jan 2022'でもいい。1月1日なら実は'2022年'だけでもよいが'2022'ではエラーになる。文字列の場合、省略された部分があるとき、月や日付なら1が、時刻なら0が仮定される。

 もう1つは、get-dateのオプションを指定する方法がある。get-dateには表のような日付、時刻指定のオプションがあり、これで日時を指定できる。

 なお、矛盾がなければ、文字列による日時指定とオプションによる日時指定は混在できる。たとえば、「2022年8月1日」の午前3時は、

get-date '2022/8/1' -Hour 3

と指定できる。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,253
2
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
3
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
4
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
5
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥937
7
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,359
8
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥841
9
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
10
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
UGREEN LANケーブル CAT8 1M メッシュLANケーブル カテゴリー8 コネクタ 超光速40Gbps/2000MHz CAT8準拠 イーサネットケーブル 爪折れ防止 シールド モデム ルータ PS3 PS4 Xbox等に対応 1M
¥699

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン