我想将日期转换为上述格式。我用过: DateTime date1 = DateTime.ParseExact(date,“dd / MM / yyyy”,null); 但它给出了异常,因为字符串不被识别为有效的日期时间。
注意:date是一个字符串数据类型,它是dd MMM,yyyy格式。
答案 0 :(得分:1)
字符串未被识别为有效日期时间
因为你试图用这种格式解析日期字符串:
"dd/MM/yyyy"
但是,正如您所述,日期字符串采用此格式:
"dd MMM, yyyy"
ParseExact
意味着...... 完全。从日期格式中解析日期:
DateTime date1 = DateTime.ParseExact(date, "dd MMM, yyyy", null);
然后您可以以您喜欢的任何格式输出该值:
date1.ToString("dd/MM/yyyy");
答案 1 :(得分:0)
ParseExact
将源格式作为第二个参数。尝试使用DateTime.ParseExact(date, "dd MMM, yyyy", null);
。
答案 2 :(得分:0)
@David打败了我的答案,但我只想补充一点,你应该使用TryParseExact
而不是ParseExact
。这样,您就可以从潜在的问题中恢复过来。例如:
if (DateTime.TryParseExact(date, "dd MMM, yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime date2))
{
date2.ToString("dd/MM/yyyy");
}
else
{
// handle date in incorrect format
}
答案 3 :(得分:0)
请你试试这个:
string dateString = "15 Jun, 2017";
DateTime result = DateTime.ParseExact(dateString, "dd MMM, yyyy", null);
// Changing to dd/MM/yyyy
string myDate = result.ToString("dd/MM/yyyy");