20

私は次のように変換を使用します:

Convert.ToDateTime(value)

しかし、日付を「mm/yy」のような形式に変換する必要があります。
私はこのようなものを探しています:

var format = "mm/yy";
Convert.ToDateTime(value, format)
4

5 に答える 5

23

おそらくどちらかDateTime.ParseExactまたはDateTime.TryParseExact代わりに使用する必要があります。特定の形式を指定できます。Tryエラーの場合により良いコードを生成すると思うので、私は個人的に -versions を好みます。

于 2013-03-04T14:15:17.517 に答える
13

がその形式であり、それをオブジェクトに変換したい場合valueは、静的メソッドを使用できます。stringDateTimeDateTime.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
于 2013-03-04T14:15:30.843 に答える
2

DateTimeフォーマットはありません。この形式は、を文字列に変換する場合にのみ適用されます。DateTimeこれは、フォームやWebページなどに値を表示する場合に暗黙的に発生します。

DateTimeを表示している場所を確認し、そこに形式を設定します(または、追加のガイダンスが必要な場合は質問を修正します)。

于 2013-03-04T14:20:02.510 に答える
1

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)
于 2016-06-29T01:08:34.987 に答える
0

これはどう:

    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" と等しくなります

それが役に立てば幸い!

こちらをお読みください。

于 2013-03-04T21:30:39.637 に答える