我需要将“28/08/2012”转换为MM/dd/YYYY
格式,即“08/28/2012”。
我怎么能这样做?
我正在使用下面的代码,但它向我抛出异常。
DateTime.ParseExact("28/08/2012", "ddMMyyyy", CultureInfo.InvariantCulture)
答案 0 :(得分:24)
但它向我提出异常
<强>问题:强>
您的日期包含/
分隔符("28/08/2012"
),并且您没有以日期字符串格式("ddMMyyyy"
)提供该日期。
<强>解决方案:强>
应为"dd/MM/yyyy"
。
这样
DateTime.ParseExact("28/08/2012", "dd/MM/yyyy", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);
执行此操作后,我们将收到一个DateTime对象,其中包含您填充的日期,并使用.ToString()
使用所需的日期格式"MM/dd/yyyy"
和可选的区域性信息CultureInfo.InvariantCulture
转移到字符串。
答案 1 :(得分:0)
由于您的原始日期位于en-GB
文化中,因此您可以创建CultureInfo
对象并自然地解析DateTime
。
string date = "28/08/2012";
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
Convert.ToDateTime(date,ci.DateTimeFormat).ToString("d");//short date pattern
(OR)
DateTime.Parse(date,ci.DateTimeFormat).ToString("d");