我知道 C# 有一些很棒的日期转换工具。我想知道是否可以自动将此字符串转换为日期对象:
"Fri May 11 00:00:00 EDT 2012"
我想我必须手动解析月、日和年,但我希望有一种更简单的内置方法。任何帮助,将不胜感激。
谢谢!
您可以使用DateTime.ParseExact
或DateTime.TryPraseExact
提供自定义格式:
DateTime result;
if (!DateTime.TryParseExact(
"Fri May 11 00:00:00 EDT 2012",
"ddd MMM dd HH:mm:ss EDT yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out result)) {
// handle invalid date
}
所有格式选项都列在 MSDN 上的自定义日期和时间格式字符串页面上。
http://msdn.microsoft.com/en-us/library/xhz1w05e.aspx
看看那个。应该能帮到你。
例子:
// Convert a string returned by DateTime.ToString("R").
String dateString = "Sat, 10 May 2008 14:32:17 GMT";
ConvertToDateTime(dateString);
是的,您可以将字符串解析为 DateTime 对象:
String format = "ddd MMM dd hh:mm:ss EDT yyyy";
String dateString = "Fri May 11 00:00:00 EDT 2012";
DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);
Convert.ToDateTime("Fri May 11 00:00:00 EDT 2012")
应该可以正常工作。