1

日付に戻す必要がある文字列があります。.ToString("yyyyMMdd") を呼び出して、必要な文字列を取得できます。私の質問は、どうすればそれを日付に戻すことができますか? 私は運が悪いので、次のようなことを試みています。

DateTime d;
var formatInfo = new DateTimeFormatInfo {ShortDatePattern = "yyyyMMdd"};
if (DateTime.TryParse(details.DetectionTime.Date, formatInfo, DateTimeStyles.None, out d))
{
   lit.Text = d.ToShortTimeString(); //would like 07/30/2010 as the text
}

それが明らかでない場合、私は以前に DateTimeFormatInfo を使用したことがありません。誰かが私を正しい方向に向けることができますか?私はおそらく部分文字列を使用して新しい DateTime(y, m, d) などを作成できることを知っています... c# が .ToString() を正しく解釈したので、まったく同じ文字列から日付を導出できない場合は疑問に思っています出力しました。

4

5 に答える 5

7

DateTime.ToString("yyyyMMdd")isの逆で、フォーマット文字列としてDateTime.TryParseExact渡します。"yyyyMMdd"

IFormatProviderニシンのビットです。通常、次のいずれかを渡します。

  • Thread.CurrentThread.Culture、ユーザーが入力した日付を解析している場合、ユーザーの日付設定に従う必要がある場合
  • またはCultureInfo.InvariantCulture、プログラムによって提供された日付を解析している場合、動作がユーザーの設定に依存してはならない場合
于 2010-07-30T18:23:21.110 に答える
2

使用するd.ToString("MM/dd/yyyy")

その他のオプションについては、http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx をご覧ください。

編集:間違って読んでください

DateTime.Parse() を使用して、文字列を日時に解析します。 http://msdn.microsoft.com/en-us/library/1k1skd40.aspx

DateTime.TryParse を使用して、最初に文字列を日付に変換できるかどうかを確認することもできます。 http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx

または、 Convert.ToDateTime() を使用することもできます

于 2010-07-30T18:19:29.543 に答える
1

文字列に送信した後に DateTime 変数を元に戻したい場合は、問題を解決し、実際の DateTime 変数を後で必要な場所にキャッシュするか、スコープに渡すだけで、テキストを DateTime クラスに変換し直す必要はありません。

申し訳ありませんが、これがあなたの要求に答えていないことに気付きましたので、あなたが探しているのは:

DateTime.ParseExact(someDateTime, "the format string you used to .tostring generating the string", null);
于 2010-07-30T18:21:36.847 に答える
1

Convert.ToDateTime("07/30/2010");

于 2010-07-30T18:23:53.150 に答える
1

文字列を DateTime 形式に変換するつもりだと思います。もしそうなら、これを使用してください:

    DateTime yourStringConverted = Convert.ToDateTime( yourString );
于 2010-07-30T18:25:27.370 に答える