現在の日時からの差分を取得する

現在の年月日時分秒からの、N年後、N日後や、または、N時間前、N分前、などを取得したい場合は AddYears(N), AddDays(N), AddHours(-N), AddMinutes(-N) を使います。

引数に正の値を指定した場合は、現在より以後の時間です。
引数に負の値を指定した場合は、現在より以前の時間です。

たとえば、現在から90日後を取得したい場合は AddDays(90) とします。
現在から90日前を取得したい場合は AddDays(-90)とします。

現在から100分後を取得したい場合は AddMinutes(100) とします。
現在から100分前を取得したい場合は AddMinutes(-100) とします。

function get_string_datetime( $arg_dtm )
{

	$y4 = $arg_dtm.Year
	$m2 = $arg_dtm.Month
	$d2 = $arg_dtm.Day
	$hh = $arg_dtm.Hour
	$mm = $arg_dtm.Minute
	$ss = $arg_dtm.Second
	$ms = $arg_dtm.Millisecond
	
	$str = "{0:d4}_{1:d2}{2:d2}_{3:d2}{4:d2}{5:d2}_{6:d3}" -f $y4, $m2, $d2, $hh, $mm, $ss, $ms

	return $str

}

# 現在の年月日時分秒ミリ秒.
$date000 = Get-Date

# 差分の時間(正の値は以後、負の値は以前).
$dt = 3

# 差分計算を実施する.
$date100 = $date000.AddYears($dt)
$date101 = $date000.AddMonths($dt)
$date102 = $date000.AddDays($dt)
$date103 = $date000.AddHours($dt)
$date104 = $date000.AddMinutes($dt)
$date105 = $date000.AddSeconds($dt)
$date106 = $date000.AddMilliseconds($dt)

# ユーザ定義の関数をコールして YYYY_MMDD_hhmmss_nnn な文字列を取得する.
$str_date000 = get_string_datetime( $date000 )
$str_date100 = get_string_datetime( $date100 )
$str_date101 = get_string_datetime( $date101 )
$str_date102 = get_string_datetime( $date102 )
$str_date103 = get_string_datetime( $date103 )
$str_date104 = get_string_datetime( $date104 )
$str_date105 = get_string_datetime( $date105 )
$str_date106 = get_string_datetime( $date106 )

# 文字列をフォーマットする.
$str_output_date000 = $str_date000
$str_output_date100 = "{0}: {1}year later."        -f $str_date100, $dt
$str_output_date101 = "{0}: {1}month later."       -f $str_date101, $dt
$str_output_date102 = "{0}: {1}day later."         -f $str_date102, $dt
$str_output_date103 = "{0}: {1}hour later."        -f $str_date103, $dt
$str_output_date104 = "{0}: {1}minute later."      -f $str_date104, $dt
$str_output_date105 = "{0}: {1}second later."      -f $str_date105, $dt
$str_output_date106 = "{0}: {1}millisecond later." -f $str_date106, $dt

# コンソール出力する.
$str_output_date000
$str_output_date100
$str_output_date101
$str_output_date102
$str_output_date103
$str_output_date104
$str_output_date105
$str_output_date106

下記が実行結果です。

2022_0625_175037_570
2025_0625_153801_901: 3year later.
2022_0925_153801_901: 3month later.
2022_0628_153801_901: 3day later.
2022_0625_183801_901: 3hour later.
2022_0625_154101_901: 3minute later.
2022_0625_153804_901: 3second later.
2022_0625_153801_904: 3millisecond later.