web-dev-qa-db-ja.com

コマンドプロンプト/ Powershellを使用して日付/時刻の形式を変更するにはどうすればよいですか?

PCのセットアップをできるだけ自動化しようとしていますが、コマンドラインを使用して日付/時刻の形式を変更できるかどうか疑問に思っています。

はいの場合、コマンドを知りたいのですが。

4
mrjayviper

日付/時刻形式は、regionの一部としてエンコードされます。これは、CLIからPowerShell Set-Culture コマンドレットを使用して設定できます。これは、Windows 8/Server 2012以降で利用可能な International モジュールの一部です。基本的には、GUIコントロールパネル領域アプレット(control /name Microsoft.RegionAndLanguage)。


せっかちな人のための基本的なPowerShellコマンドは次のとおりです。

$culture = Get-Culture
$culture.DateTimeFormat.ShortDatePattern = 'd/MM/yyyy'
Set-Culture $culture

変更したいかもしれない、下にリストした他のいくつかの日付/時刻パターンがあります。


細部

まず、Windows 8を使用している場合は、モジュールをインポートする必要があります。これはWindows 10では必要ありません。

Import-Module International

これで、リージョン全体を変更したい場合は、次のように1つのコマンドで変更できます。

Set-Culture 'en-AU'

使用可能 任意の有効な BCP-47 タグはここにあります。これにより、小数点など、地域に関連する他の設定も変更されます。

これは、特に必要がない限り、ほとんどの場合にお勧めするアプローチです。


日付/時刻の形式をより具体的に制御する場合は、独自の CultureInfo オブジェクトを作成するか、現在のカルチャを取得して変更する必要があります。

$culture = Get-Culture
$culture.DateTimeFormat.ShortDatePattern = 'd/MM/yyyy'
Set-Culture $culture

関連する日付/時刻のプロパティ

$culture.DateTimeFormat(またはGet-Culture.DateTimeFormat)を実行するだけで、既存のオプションのリストを表示できます。変更する必要があるのは次のとおりです。

FullDateTimePattern
LongDatePattern
LongTimePattern
ShortDatePattern
ShortTimePattern

RFC1123パターンとソート可能なパターンには触れないことをお勧めします。

6
Bob