我有一个字符串 00:00:15:185,我需要判断它是否大于15秒。
时间格式为HH:mm:ss:FFF。
虽然这显然比15秒要长,但我无法正确比较它。
目前的代码如下:
value = "00:00:15:185";
if (DateTime.Parse(value) > DateTime.Parse("00:00:15:000"){
//do stuff
}
每次运行它时都会出现异常,而且当应该工作时程序却无法正常工作。
我有一个字符串 00:00:15:185,我需要判断它是否大于15秒。
时间格式为HH:mm:ss:FFF。
虽然这显然比15秒要长,但我无法正确比较它。
目前的代码如下:
value = "00:00:15:185";
if (DateTime.Parse(value) > DateTime.Parse("00:00:15:000"){
//do stuff
}
每次运行它时都会出现异常,而且当应该工作时程序却无法正常工作。
你的字符串代表的不是一个时间,而是一段时间间隔。对于这种情况,我们可以使用TimeSpan
。
var value = "00:00:15:185";
if (TimeSpan.ParseExact(value, @"hh\:mm\:ss\:FFF", CultureInfo.InvariantCulture)
> TimeSpan.FromSeconds(15))
{
//do stuff
}
除了@rob的答案之外,另一个选项是使用DateTime.ParseExact
var value = "00:00:15:185";
if (DateTime.ParseExact(value, "HH:mm:ss:fff", CultureInfo.InvariantCulture) >
DateTime.ParseExact("00:00:15:000", "HH:mm:ss:fff", CultureInfo.InvariantCulture))
{
// logic here.
}
DateTime time = DateTime.Now;
String result = time.ToString("HH:mm ");
DateTime firstTimr = DateTime.ParseExact(reader["shift_start_time"].ToString(), "HH:mm:tt", null);
String firstTimr1 = firstTimr.ToString("HH:mm ");
DateTime lastTime = DateTime.ParseExact(reader["Shift_last_time"].ToString(), "HH:mm:tt", null);
String lastTime1 = lastTime.ToString("HH:mm ");
if (DateTime.Parse(result) >= DateTime.Parse(firstTimr1) && (DateTime.Parse(result) <= DateTime.Parse(lastTime1)))
{
`enter code here` MessageBox.Show("First Shit");
}