我正在从我的config.xml中检索这样的字符串(04/29/2013 10:00:00 AM)。我想将其转换为DateTime格式。如何做到这一点?
我尝试了以下内容:
DateTime dtNextrunTimeforExcel = Convert.ToDateTime(str);
和
DateTime dtNextrunTimeforExcel = DateTime.Parse(str);
但是,在这两种情况下,它都说“字符串未被识别为有效日期时间”。
注意:我正在使用VS2010编写Windows服务
PL。帮助
答案 0 :(得分:2)
尝试使用.ParseExact
var dtNextrunTimeforExcel = DateTime.ParseExact(str, "MM/dd/yyyy hh:mm:ss", CultureInfo.CurrentCulture);
答案 1 :(得分:2)
CultureInfo enUS = new CultureInfo("en-US");
string dateString;
DateTime dateValue;
// Parse a string.
dateString = "4/29/2013 10:00:00 AM";
if (DateTime.TryParseExact(dateString, "mm/dd/yyyy hh:mm:ss tt", enUS,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
///time only
dateString = "10:00:00 AM";
if (DateTime.TryParseExact(dateString, "hh:mm:ss tt", enUS,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);