如何检查两者之间的时间。假设我有字符串格式的时间,如“02:00 PM”,我想在两次之间检查它。我如何检查这个,因为时间是字符串格式? 要与时间进行比较的值存储在DataTable中,我正在使用数据表的Select函数。
答案 0 :(得分:3)
尝试DateTime.Parse(dateString1) > DateTime.Parse(dateString2)
。
如果您的字符串格式与DateTime
的字符串格式不兼容,则需要手动解析日期。
编辑:
您可以使用ParseExact
指定自己的格式:
string Format = "T";
CultureInfo provider = new CultureInfo("en-US");
if (DateTime.ParseExact(dateString1, format, provider) >
DateTime.ParseExact(dateString2, format, provider))
{
...
答案 1 :(得分:0)
您始终可以将字符串转换为时间跨度(或日期时间),如下所示:
TimeSpan ts = Convert.ToDateTime("02:00 PM").TimeOfDay;
TimeSpan checkValue1 = Convert.ToDateTime("01:00 PM").TimeOfDay;
TimeSpan checkValue2 = Convert.ToDateTime("03:00 PM").TimeOfDay;
bool passed = (ts >= checkValue1 && ts <= checkValue2);
答案 2 :(得分:0)
将其转换为DateTime
,其中当前日期为日期,或者TimeSpan
代表午夜时间:
DateTime time = DateTime.Parse(timeString);
或者:
TimeSpan time = DateTime.Parse(timeString).TimeOfDay;
比较它时,将值设为TimeSpan
可能会更容易,否则您必须确保将其与之比较的DateTime
值也将当前日期作为日期。另一方面,DateTime
值可用于比较午夜时间,例如今天23.00至明天01.00。