日付の保存方法と表示方法は大きく異なります。1/7/2013 00:00:00 AM
たとえばのように表示される理由は、カルチャ設定に基づいてDataTable
のデフォルト表示を表示しているためです。DateTime
ただし、このように表示したくない場合が多いため、この猫の皮を剥ぐ方法はいくつかありますが、いくつか紹介します。何よりもまず、アプリケーションのカルチャを単純に変更して、デフォルトで希望どおりに表示されるようにすることができます。
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
Thread.CurrentThread.CurrentCulture = culture;
ここで、DateTime
値を表示すると、たとえば次のように発行すると、デフォルトでそのカルチャが取得されます。
var dt = new DateTime();
dt.ToShortDateString(); // here is where the culture is used
また、アプリケーション内に特定の方法で表示する必要がある特定の場所があることに気付くかもしれません。
var dt = new DateTime();
dt.ToString("dd-MM-yyyy"); // custom formatting on the fly
したがって、要するに、で変更する必要はありませんDataTable
。どのように表示されても、値は同じです。