【发布时间】:2020-05-01 21:43:41
【问题描述】:
我正在处理一个日期,因为数据太大,我需要对其进行过滤。这是我目前尝试的代码。
string value = Datetime.Now.tostring("yyyy-MM-dd");
DateTime fromdate;
fromdate = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");
DateTime todate;
todate = DateTime.Now.ToString("yyyy-MM-dd");
if((value >= fromdate) && (value <= todate))
{
//filtered items
}
错误总是说的
运算符 >= 不能应用于字符串类型和系统日期时间的操作数
我的代码的哪一部分是错误的?
【问题讨论】:
-
为什么要将 DateTime 变量解析为字符串?您应该比较实际日期
-
@SteveZ 我正在制作一种没有时间的新日期格式。
-
为了比较,您可以使用
DateTime.Now.Date和fromdate.Date。这仅包括日期(时间为 00:00:00) -
@Ilorra 即使您使用的是“新格式”,为什么还要解析 DateTime 然后使用它进行比较。仅将
date.ToString("yyyy-MM-dd")用于显示目的。 -
value 和 todate 总是相等的,fromdate 总是小于 value 所以 if 条件总是为真
标签: c# string datetime filtering