我有一个字符串,形如"24:00:00",我想将其转换为时间。我尝试使用convert和DateTime.Parse,但似乎还需要日期。是否有一种方法只获取时间,或者我必须同时提供日期?
如果你只关心时间部分,考虑使用TimeSpan
而不是完整的DateTime
。
var time = TimeSpan.Parse("23:59:59");
我不确定"24:00:00"是否是一个有效的时间。无论如何,您不需要指定日期,可以执行...
DateTime time = DateTime.ParseExact("23:59:59", "HH:mm:ss", null);
TimeSpan time = TimeSpan.ParseExact("23:59:59", "HH:mm:ss", null);
string strDate = "23:10:00";
DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
dtfi.ShortTimePattern = "hh:mm:ss";
dtfi.TimeSeparator = ":";
DateTime objDate = Convert.ToDateTime(strDate, dtfi);
Console.WriteLine(objDate.TimeOfDay.ToString());
我认为你需要使用 TimeSpan.Parse
代替?
怎么样?
var time = new DateTime.Today;
var str = "24:00:00";
var split = str.split(":");
time.AddHours(Convert.ToInt32(split[0]));
time.AddMinutes(Convert.ToInt32(split[1]));
time.AddSeconds(Convert.ToInt32(split[2]));