两者之间的时间比较

时间:2010-04-12 09:23:14

标签: c# c#-3.0 datatable

如何检查两者之间的时间。假设我有字符串格式的时间,如“02:00 PM”,我想在两次之间检查它。我如何检查这个,因为时间是字符串格式? 要与时间进行比较的值存储在DataTable中,我正在使用数据表的Select函数。

3 个答案:

答案 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。