将日期类型转换为2012年1月9日至MM / DD / YYYY c#?

时间:2014-03-31 17:54:27

标签: c# datetime date-format

我正在使用以下代码:

System.DateTime.ParseExact(
    dateString,
    "MMddyyyy",
    System.Globalization.DateTimeFormatInfo.InvariantInfo);

但是将String作为字符串获取错误并未被识别为有效的DateTime。

任何人都可以告诉我如何获得确切的格式吗?

4 个答案:

答案 0 :(得分:1)

所以你的格式错误。 The documentation声明要解析字符串,您需要MMMM dd, yyyy这样的格式。

System.DateTime.ParseExact(dateString,
    "MMMM dd, yyyy",
    System.Globalization.DateTimeFormatInfo.InvariantInfo);

请在文档中注明以下内容:

  • MMMM - 月份的全名。
  • dd - 该月的某一天,即01至31日。
  • yyyy - 作为四位数的年份。

答案 1 :(得分:1)

尝试

string date = "January, 09 2012";
DateTime d = DateTime.ParseExact(date, "MMMM, dd yyyy", 
                                 CultureInfo.InvariantCulture, DateTimeStyles.None);
Console.WriteLine(d.ToString("MMddyyyy"));

答案 2 :(得分:1)

您可以尝试以下代码:

string dateInput = "January 09, 2012";

DateTime dt = DateTime.ParseExact(dateInput, "MMMM dd, yyyy", 
System.Globalization.CultureInfo.InvariantCulture, 
System.Globalization.DateTimeStyles.None);

string dateOutput = dt.ToString("MMddyyyy");

<强>输出:

01092012

答案 3 :(得分:0)

请尝试使用以下代码

string DateFormate =“01/22/2013 10:00:00”;
DateTime dt = DateTime.ParseExact(DateFormate,“MM / dd / yyyy HH:mm:ss”,CultureInfo.InvariantCulture); DateFormate = dt.ToString(“dd / M / yyyy”);