如何将HH:MM:SS字符串转换为日期时间?

时间:2013-05-13 15:15:28

标签: c#

我的输入字符串为HH:MM:SS,例如15:43:13,

现在我想将它转换为日期时间,但只保留没有日期等的小时/时间

有可能吗?

例如

string userInput = 15:43:13;
DateTime userInputTime = Convert.ToDateTime(userInput);

会给我一个完整的日期,包括年份等, 有没有办法将它转换为HH:MM:SS没有triming / substring?

感谢

3 个答案:

答案 0 :(得分:14)

正如其他人所说,它是TimeSpan

您可以通过此操作获取日期时间

string userInput = "15:43:13";
var time = TimeSpan.Parse(userInput);
var dateTime = DateTime.Today.Add(time);

答案 1 :(得分:2)

要获得时间跨度,您可以使用:

TimeSpan.Parse("15:43:13")

但你应该问自己为什么要这样做,因为有一些相当重要的问题。例如,你想在2013年11月3日星期日2:33 AM,夏令时结束了吗?有两个。

答案 2 :(得分:0)

如果您不需要额外数据(年等),请使用TimeSpan 您可以使用Timespan.Parse

将用户输入转换为TimeSpan

例如: TimeSpan ts = TimeSpan.Parse("6:12"); //06:12:00

在这里阅读更多内容: http://msdn.microsoft.com/en-us/library/se73z7b9.aspx