私は次のように変換を使用します:
Convert.ToDateTime(value)
しかし、日付を「mm/yy」のような形式に変換する必要があります。
私はこのようなものを探しています:
var format = "mm/yy";
Convert.ToDateTime(value, format)
おそらくどちらかDateTime.ParseExact
またはDateTime.TryParseExact
代わりに使用する必要があります。特定の形式を指定できます。Try
エラーの場合により良いコードを生成すると思うので、私は個人的に -versions を好みます。
がその形式であり、それをオブジェクトに変換したい場合value
は、静的メソッドを使用できます。string
DateTime
DateTime.ParseExact
DateTime.ParseExact(value, format, CultureInfo.CurrentCulture);
例:
string value = "12/12";
var myDate = DateTime.ParseExact(value, "MM/yy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
Console.WriteLine(myDate.ToShortDateString());
結果:
2012-12-01
DateTime
フォーマットはありません。この形式は、を文字列に変換する場合にのみ適用されます。DateTime
これは、フォームやWebページなどに値を表示する場合に暗黙的に発生します。
DateTimeを表示している場所を確認し、そこに形式を設定します(または、追加のガイダンスが必要な場合は質問を修正します)。
Convert.ToDateTime を使用できます。それはHow to convert a Datetime string to a current culture datetime string に示されています
DateTimeFormatInfo usDtfi = new CultureInfo("en-US", false).DateTimeFormat;
var result = Convert.ToDateTime("12/01/2011", usDtfi)
これはどう:
string test = "01-12-12";
try{
DateTime dateTime = DateTime.Parse(test);
test = dateTime.ToString("dd/yyyy");
}
catch (FormatException exc)
{
MessageBox.Show(exc.Message);
}
test は "12/2012" と等しくなります
それが役に立てば幸い!
こちらをお読みください。