0

我正在从我的 config.xml 中检索这样的字符串(04/29/2013 10:00:00 AM)。我想将其转换为 DateTime 格式。如何做到这一点?

我尝试了以下操作:

DateTime dtNextrunTimeforExcel = Convert.ToDateTime(str); 

DateTime dtNextrunTimeforExcel = DateTime.Parse(str);

但是,在这两种情况下,它都说“字符串未被识别为有效的日期时间”。

注意:我正在用 VS2010 编写 Windows 服务

PL。帮助。

4

2 回答 2

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);
于 2013-04-29T15:10:58.410 回答
2

尝试使用.ParseExact

var dtNextrunTimeforExcel = DateTime.ParseExact(str, "MM/dd/yyyy hh:mm:ss", CultureInfo.CurrentCulture);
于 2013-04-29T15:05:48.720 回答