バッチファイルの中でPowershellスクリプトから日付を取得する方法
バッチファイル
@echo off
FOR /F "usebackq" %%a IN (`powershell -command "Write-Output $((Get-Date).AddDays(-1)).ToString('yyyy/MM/dd')"`) DO (
SET contents=%%a
)
echo %contents%
FOR /F "usebackq tokens=*" %%a IN (`powershell -command "Write-Output $(Get-Date).ToString('yyyy/MM/dd ddd HH:mm:ss')"`) DO (
SET contents=%%a
)
echo %contents%
timeout /t 22
昨日の日付 と
今日の日付と時間 曜日
2025/01/30 木 14:38:07
詳細
日時のフォーマット指定、日時の計算、その他の日時関連コマンド、および日付・時刻の計算メソッドの情報を示します。
PowerShell での日時フォーマット指定
Get-Date
コマンドレットは-Format
パラメータを使用して表示フォーマットを指定します。Now
プロパティはtoString
メソッドを使用してフォーマットを指定します。
Windows形式の書式指定子 (-Format
オプション)
yyyy
またはYYYY
: 年(西暦4桁)yy
またはYY
: 年(西暦下2桁)MM
: 月(01~12)dd
: 日(01~31)HH
: 時(00~23)hh
: 時(01~12)mm
: 分(00~59)ss
: 秒(00~59)d
: 短い形式の日付パターンD
: 長い形式の日付パターンt
: 短い形式の時刻パターンT
: 長い形式の時刻パターンdddd
: 曜日(完全な形式)ddd
: 曜日(短縮形式)
UNIX形式の書式指定子 (-UFormat
オプション)
%Y
: 年(西暦4桁)%y
: 年(西暦下2桁)%m
: 月(01~12)%B
: 月(January~December)%d
: 日(01~31)%H
: 時(00~23)%h
: 時(01~12)%M
: 分(00~59)%S
: 秒(00~59)%p
: 午前/午後%A
: 曜日(完全な形式)%a
: 曜日(短縮形式)
日時の計算
PowerShellでは、以下の方法で昨日、明日、明後日、一か月前、来年、翌年などを計算できます。
Get-Date
コマンドレットで本日の日付を取得し、AddDays
、AddMonths
、AddYears
を使用して計算します。AddDays
・・・日付の増減AddMonths
・・・月の増減AddYears
・・・年の増減
サンプルコード
# 昨日の日付
$yesterday = (Get-Date).AddDays(-1)
Write-Output "昨日の日付: $yesterday"
# 明日の日付
$tomorrow = (Get-Date).AddDays(1)
Write-Output "明日の日付: $tomorrow"
# 一か月前の日付
$lastMonth = (Get-Date).AddMonths(-1)
Write-Output "一か月前の日付: $lastMonth"
# 来年の日付
$nextYear = (Get-Date).AddYears(1)
Write-Output "来年の日付: $nextYear"
文字列内のコマンド結果の埋め込み
文字列内では $(コマンド)
によりコマンドの結果を文字列で埋め込むことが可能です。
サンプルコード
Write-Output "今日の日付は $(Get-Date -Format 'yyyy/MM/dd') です。"
その他の日時関連コマンド
[datetime]::Now
: 現在の日時を取得[datetime]::Now.DayOfWeek
: 曜日を取得
サンプルコード
$currentDateTime = [datetime]::Now
Write-Output "現在の日時: $currentDateTime"
$currentDayOfWeek = [datetime]::Now.DayOfWeek
Write-Output "今日は何曜日: $currentDayOfWeek"
日付・時刻の範囲計算
New-TimeSpan [[-Start] 開始日時] [[-End] 終了日時]
: 日時の範囲を計算
サンプルコード
# 開始日時と終了日時のタイムスパンを取得
$start = Get-Date -Year 2024 -Month 1 -Day 1
$end = Get-Date -Year 2025 -Month 1 -Day 1
$timeSpan = New-TimeSpan -Start $start -End $end
Write-Output "タイムスパン: $timeSpan"
DateTimeクラスの計算メソッド
PowerShellで日付や時刻の計算を行う場合、DateTimeクラスの各種計算メソッドを使って加算・減算を行います。
メソッド一覧と用途
メソッド名 | 用途 |
---|---|
AddYears | 年の増減 |
AddMonths | 月の増減 |
AddDays | 日の増減 |
AddHours | 時間の増減 |
AddMinutes | 分の増減 |
AddSeconds | 秒の増減 |
AddMilliseconds | ミリ秒の増減 |
ディスカッション
コメント一覧
まだ、コメントがありません