从字符串格式读取日期

时间:2014-03-17 14:33:46

标签: c# datetime

我必须在c#

中以这种格式阅读日期
yyyy/MM/dd HH:mm:ss

我无法更改格式,因为它是由另一个应用程序编写的 日期是一个类似

的字符串
2009/11/17 12.31.35

如何在不解析的情况下阅读此格式(如果可能,不分割)

感谢

3 个答案:

答案 0 :(得分:2)

  

我无法更改格式,因为是由其他应用程序编写的

解决方案1:您无需更改阅读格式。

试试这个:

DateTime dt;
DateTime.TryParseExact(date, "yyyy/MM/dd HH.mm.ss", 
                CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);

  

如何在不解析的情况下阅读此格式(如果没有分割,则如何)   可能的)

解决方案2:如果要从日期字符串中提取值。

试试这个:

string str = "2009/11/17 12.31.35";

string year = str.Substring(0, 4);    //2009
string month = str.Substring(5, 2);   //11
string date = str.Substring(8, 2);    //17
string Hours = str.Substring(11, 2);  //12
string minutes = str.Substring(14, 2);//31
string seconds = str.Substring(17, 2);//35

答案 1 :(得分:1)

使用DateTime.ParseExact,您可以在其中提供自定义日期格式

答案 2 :(得分:0)

尝试使用.:

替换ParseExtract
string dt= "2009/11/17 12.31.35";
var dt2=   ss.Replace('.', ':');
DateTime d = DateTime.ParseExact(dt2, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture);

或只是

DateTime d = DateTime.ParseExact("2009/11/17 12.31.35", "yyyy/MM/dd HH.mm.ss", CultureInfo.InvariantCulture);