从字符串格式读取日期

本文关键字:取日期 读取 格式 字符串 | 更新日期: 2023-09-27 17:50:48

我必须在c#中以这种格式读取日期

yyyy/MM/dd HH:mm:ss

不能更改格式,因为它是由另一个应用程序编写的日期是像

这样的字符串。
2009/11/17 12.31.35

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

谢谢

从字符串格式读取日期

我不能更改格式,因为它是由另一个应用程序编写的

解决方案1:您不需要更改格式来读取它

试试这个:

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

我如何能读取这种格式而不解析它(没有分割如果可能)

方案二:如果您想从日期字符串中提取值。

试试这个:

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

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

尝试用:替换.,然后用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);