0

私の文字列には値が含まれています:08/20/2012-10.32.19

08/20/2012 10:32:19[フォーマットはMM/dd/yyyy HH:mm:ss]として、文字列データ型自体の出力が必要です。

助けてください!!

4

3 に答える 3

8

文字列をに変換してから、必要な形式でDateTime使用でき.ToString()ます。

DateTime dt = DateTime.ParseExact("08/20/2012-10.32.19", "M/d/yyyy-HH.mm.ss",CultureInfo.InvariantCulture);
string test = dt.ToString("MM/dd/yyyy HH:mm:ss");

テストは

08/20/2012 10:32:19

編集: コメントに基づく

複数の日付形式を指定して、それに応じて解析することができます。

string[] formats = new string[] { "M/d/yyyy-HH.mm.ss", "yyyy-M-d-HH.mm.ss" };
string dtTest1 = DateTime.ParseExact("08/20/2012-10.32.19",
                                     formats, 
                                     CultureInfo.InvariantCulture, 
                                     DateTimeStyles.None)
                                     .ToString("MM/dd/yyyy HH:mm:ss");

または一行で

string dtTest2 = DateTime.ParseExact("08/20/2012-10.32.19",
                                     new string[] { "M/d/yyyy-HH.mm.ss", "yyyy-M-d-HH.mm.ss" }, 
                                     CultureInfo.InvariantCulture, 
                                     DateTimeStyles.None)
                                     .ToString("MM/dd/yyyy HH:mm:ss");

これにより、両方の日付のケースが満たされます。

08/20/2012-10.32.19
2012-08-20-10.32.19
于 2012-08-29T05:12:48.827 に答える
1

文字列はフォーマットのみを必要とするため、非常に単純なものを使用できます

String a="08/20/2012-10.32.19".Replace('-', ' ').Replace('.', ':');

これがうまくいくことを願っています

于 2012-08-29T05:34:15.580 に答える
0

.NetにはToLongDateTime、のようなさまざまな組み込み形式があります。ToShortdateTime

string formatDate = txtdte.ToShortDateTime();

これは文字列を返すため、他の変換は必要ありません。形式に固有の場合、 ToString は次のようなパラメーターを受け取りますToString("dd/mm/yyyy")

于 2012-08-29T05:42:40.943 に答える