我有一个 HH:MM:SS 的输入字符串,例如 15:43:13,
现在我想将其转换为日期时间,但只保留小时/时间而不保留日期等
是否可以?
例如
string userInput = 15:43:13;
DateTime userInputTime = Convert.ToDateTime(userInput);
会给我完整的日期,包括年份等,有没有办法将其转换为 HH:MM:SS 而无需修剪/子字符串?
谢谢
我有一个 HH:MM:SS 的输入字符串,例如 15:43:13,
现在我想将其转换为日期时间,但只保留小时/时间而不保留日期等
是否可以?
例如
string userInput = 15:43:13;
DateTime userInputTime = Convert.ToDateTime(userInput);
会给我完整的日期,包括年份等,有没有办法将其转换为 HH:MM:SS 而无需修剪/子字符串?
谢谢
正如其他人所说,这是一个TimeSpan
.
你可以通过这样做得到一个日期时间
string userInput = "15:43:13";
var time = TimeSpan.Parse(userInput);
var dateTime = DateTime.Today.Add(time);
要获得时间跨度,您可以使用:
TimeSpan.Parse("15:43:13")
但是你应该问自己为什么要这样做,因为有一些相当重要的问题。例如,当 2013 年 11 月 3 日星期日,夏令时即将结束时,您想要哪个凌晨 2:33?其中有两个。
如果您不需要额外的数据(年份等),请使用TimeSpan
您可以从用户输入转换为 TimeSpan 使用Timespan.Parse
例如:
TimeSpan ts = TimeSpan.Parse("6:12"); //06:12:00
在此处阅读更多信息:http: //msdn.microsoft.com/en-us/library/se73z7b9.aspx