将日期从mm/dd/yyyy转换为dd MMM yyyy

将日期从mm/dd/yyyy转换为dd MMM yyyy

问题描述:

如何将日期时间从mm/dd/yyyy转换为dd MMM yyyy? DateTime.ParseExact或DateTime.TryParseExact不需要一个参数来告诉它我想要什么格式。那么它如何知道我希望它将传入的日期返回到MM MMM yyyy格式?将日期从mm/dd/yyyy转换为dd MMM yyyy

DateTime result; 
var dateTime = DateTime.TryParseExact("03/21/2013", "mm/dd/yyyy",CultureInfo.InvariantCulture,DateTimeStyles.None, out result); 
+0

你'dateTime'变量有一个布尔 - 的'TryParseExact'方法返回布尔值,指示是否将解析成功。假设成功,该值将存储在您的'result'变量中。 – 2013-03-21 18:38:26

+0

噢,小写'm'代表分钟,不代表月份,所以你的解析语句需要有''MM/dd/yyyy'',或者更准确地说'MM \\/dd \\/yyyy''(反斜杠会跳出正斜杠,所以系统知道它是一个真正的正斜杠而不是正斜杠表示的特殊字符 - 这很复杂,但肯定使用反斜杠)。 (哦,两个反斜杠是因为它是一个C#转义字符,所以它实际上只有一个)。 – 2013-03-21 18:41:07

DateTime对象,你回来没有格式化 - 它只是原始的日期和时间。将其转换为新的格式,你在一个DateTime对象了之后,你叫ToString就可以了,如:

string formattedDate = result.ToString("dd MMM yyyy"); 

一个DateTime对象不存储在字符串格式的日期。而你可以输出使用获得的字符串表示时你喜欢的格式的DateTime值:

// assuming you have date DateTime object variable named dateTime 
dateTime.ToString("dd MMM yyyyy");