01/05/2012(MM/dd/yyyy) のような文字列値を取得し、日時に変換する必要があります
string s="01/05/2012";
datetime dt=convert.todatetime(s);
現在、dt 値は 2012 年 1 月 5 日ですが、2012 年 1 月 5 日の dt 値を取得する必要があります。値を取得する方法について教えてください。
ありがとうございます
オブジェクトを正しく作成していますDateTime
。DateTime の内部表現を見ているだけです。出力方法は、メソッドに指定したフォーマット文字列によって異なりますToString
。すなわち:
class Program
{
static void Main(string[] args)
{
string s = "01/05/2012";
DateTime dt = Convert.ToDateTime(s);
Console.WriteLine(dt.ToString("MM/dd/yyyy"));
Console.ReadLine();
}
}
このMSDNページをDateTime構造で見ると
上記のリンクから私のハイライト
DateTime 値とその文字列表現
内部的には、すべての DateTime 値は、0001 年 1 月 1 日午前 0 時 12:00:00 から経過したティック数 (100 ナノ秒間隔の数) として表されます。ユーザー インターフェイス要素に表示されるとき、またはファイルに書き込まれるときに表示されます。DateTime 値の外観は、書式設定操作の結果です。フォーマットとは、値をその文字列表現に変換するプロセスです。
日付と時刻の値の外観は、文化、国際標準、アプリケーションの要件、個人の好みなどの要因に依存するため、DateTime 構造体は、ToString メソッドのオーバーロードによって日付と時刻の値をフォーマットする際に非常に柔軟です。デフォルトの DateTime.ToString() メソッドは、現在のカルチャの短い日付と長い時間のパターンを使用して、日付と時刻の値の文字列表現を返します。