4

DateTimeOracleフィールドを文字列 ( )に変換しようとしていますTextBox。ただし、次のエラーが発生し続けます。

文字列は有効な DateTime として認識されませんでした。

フィールドの値は次のとおりです。7/25/2013 4:12:18 PM

コード:

DateTime dt = DateTime.ParseExact("MM/dd/yyyy HH:mm:ss tt",dr["category"].ToString().Trim(), CultureInfo.InvariantCulture);
txtFedCat.Text = dt.ToString("dd/M/yyyy");
4

3 に答える 3

3

これを試して:

DateTime dt = DateTime.ParseExact(dr["category"].ToString().Trim(), "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);

ParseExact の最初のパラメーターは日付文字列で、2 番目のパラメーターは形式です。あなたはそれを逆に持っていました。また、次のフォーマット指定子を使用したいと思います。

  • M : 1 から 12 までの月。
  • d : 1 から 31 までの日。
  • h : 1 から 12 までの 12 時間制を使用した時間。
于 2013-07-26T00:28:39.517 に答える
1
var dateString = "7/25/2013 4:12:18 PM";
DateTime dt = DateTime.ParseExact(dateString, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
var txtFedCat = dt.ToString("dd/M/yyyy");
于 2013-07-26T00:37:45.250 に答える
0

あなたはこれを行うことができます:

string strDate = DateTime.ParseExact(yourDateTime, "M/d/yyyy h:mm:ss tt", null).ToString();
        if (strDate.Substring(0, 10).Trim().LastIndexOf(" ", System.StringComparison.Ordinal) == 8)
            strDate = strDate.Substring(0, 8).Trim();
        else
            strDate = strDate.Substring(0, 10).Trim();
        DateTime FinalDate = Convert.ToDateTime(strDate);
于 2014-02-19T08:56:27.107 に答える