4

我正在尝试将 OracleDateTime字段转换为字符串 ( TextBox)。但是我不断收到以下错误:

该字符串未被识别为有效的日期时间。

该字段中的值为: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 的第一个参数是日期字符串,第二个参数是格式。你反其道而行之。另外我认为您想使用以下格式说明符:

  • 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 回答