コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】DateTime 型をわかりやすい形式の文字列に変換する拡張メソッド

はじめに

var dt = new DateTime( 2013, 3, 3, 12, 34, 56 );

Debug.Log( dt.ToString()          ); // 3/3/2013 12:34:56 PM
Debug.Log( dt.ToShortDateString() ); // 3/3/2013
Debug.Log( dt.ToLongDateString()  ); // Sunday, March 03, 2013
Debug.Log( dt.ToShortTimeString() ); // 12:34 PM
Debug.Log( dt.ToLongTimeString()  ); // 12:34:56 PM

ToString
ToShortDateString
ToLongDateString
ToShortTimeString
ToLongTimeString

DateTime型はこれらの関数を使用して特定の形式の文字列に変換できますが
Unity の場合、英語のカルチャで表示されてしまうため少しわかりづらいです

そのため、日本のカルチャで表示できる下記の拡張メソッドを作成しました

ソースコード

使い方

var dt = new DateTime( 2013, 3, 3, 12, 34, 56 );

Debug.Log( dt.ToPattern()             ); // 2013/03/03 12:34:56
Debug.Log( dt.ToShortDatePattern()    ); // 2013/03/03
Debug.Log( dt.ToLongDatePattern()     ); // 2013年3月3日
Debug.Log( dt.ToFullDateTimePattern() ); // 2013年3月3日 12:34:56
Debug.Log( dt.ToShortTimePattern()    ); // 12:34
Debug.Log( dt.ToLongTimePattern()     ); // 12:34:56

参考サイト様

DateTimeオブジェクトの時刻・日付から形式を指定して文字列に変換する - DateTimeからstringへの変換 : C# | iPentec
日時(DateTimeオブジェクト)を文字列に変換する - .NET Tips (VB.NET,C#...)

関連記事