繁体   English   中英

在C#中将格式为12 hour(04/29/2013 10:00:00 AM)的字符串转换为日期时间

[英]Convert string with format 12 hour(04/29/2013 10:00:00 AM) to datetime in C#

我正在从config.xml中检索这样的字符串(2013年4月29日10:00:00),我想将其转换为DateTime格式。

我尝试了以下方法:

DateTime dtNextrunTimeforExcel = Convert.ToDateTime(str); 

DateTime dtNextrunTimeforExcel = DateTime.Parse(str);

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

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

PL。 救命。

尝试使用.ParseExact

var dtNextrunTimeforExcel = DateTime.ParseExact(str, "MM/dd/yyyy hh:mm:ss", CultureInfo.CurrentCulture);
 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM