从字符串中获取相同格式的时间

时间:2018-06-01 14:47:17

标签: c# datetime time

我使用datetime获取字符串,每次使用不同格式的日期时间。是否可以从字符串中获取时间并保存时间格式。

例如,输入:

"2010-10-23 01:02:45" 

对于这个,据我所知,将有时间格式HH:mm:ss。 我需要结果01:02:45(格式相同)。

但是对于下一个输入

"2010/1/23 1:05 AM" 

时间格式为“h:mm tt”

如何正确解析它?

2 个答案:

答案 0 :(得分:2)

要将字符串解析为DateTime,请使用以下内容(内联' out'声明是C#7功能):

DateTime.TryParse("2010-10-23 01:02:45", out DateTime dateTime);

然后您可以使用以下内容将其转换为时间(如您所指定):

var time = dateTime.ToString("HH:mm:ss");

所有可用的解析格式均可用here

答案 1 :(得分:0)

你可以按照你想要的相同格式获得它们:

实例:http://rextester.com/HHKR44127

DateTime x;
DateTime y;
DateTime.TryParse("2010-10-23 01:02:45", out x);
DateTime.TryParse("2010/1/23 1:05 AM", out y);
Console.WriteLine(x.ToString("yyyy-MM-dd HH:mm:ss"));
Console.WriteLine(y.ToString("yyyy-MM-dd HH:mm:ss"));