Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 希望从asp.net mvc中的当前日期时间减去数据库中的日期时间_C#_Asp.net Mvc_Razor_Model View Controller - Fatal编程技术网

C# 希望从asp.net mvc中的当前日期时间减去数据库中的日期时间

C# 希望从asp.net mvc中的当前日期时间减去数据库中的日期时间,c#,asp.net-mvc,razor,model-view-controller,C#,Asp.net Mvc,Razor,Model View Controller,我想从当前日期时间减去数据库表中的日期时间,并与大于(>)运算符进行比较 我想比较当前日期时间和数据库中的日期时间,如果我的数据库日期减去当前日期大于30天,那么我想显示我的标签红色,否则为默认值 这就是我尝试过的 <label style="@(DateTime.Now-item.NewLinen>30 ? "color:red;": "")">New Linen</label> 新亚麻布 我在下面画红线,给梅塞奇看 运算符不能应用于“times

我想从当前日期时间减去数据库表中的日期时间,并与大于(>)运算符进行比较

我想比较当前日期时间和数据库中的日期时间,如果我的数据库日期减去当前日期大于30天,那么我想显示我的标签红色,否则为默认值

这就是我尝试过的

       <label style="@(DateTime.Now-item.NewLinen>30 ? "color:red;": "")">New Linen</label>
新亚麻布
我在下面画红线,给梅塞奇看

运算符不能应用于“timespan”和int>


请帮我做一下这个

我通常会稍微改变框架,并使用如下方法:

<label style="@((item.NewLinen.HasValue && item.NewLinen.Value.AddDays(30) < DateTime.Now) ? "color:red;": "")">New Linen</label>
新亚麻布

但更多的是品味问题。如果你想使用
TimeSpan
,你需要构造另一个时间跨度来进行比较,具体来说是30天,而不是30秒或任何其他单位(这就是为什么不允许直接与
int
进行比较)

我通常会稍微改变帧,并使用类似的方法:

<label style="@((item.NewLinen.HasValue && item.NewLinen.Value.AddDays(30) < DateTime.Now) ? "color:red;": "")">New Linen</label>
新亚麻布

但更多的是品味问题。如果您想使用
TimeSpan
,您需要构造另一个时间跨度来进行比较,具体来说是30天,而不是30秒或任何其他单位(这就是为什么不允许与
int
直接比较的原因)

这是因为它不知道要比较什么-
>30秒?30小时?3万年(实际上,我不认为
TimeSpan
支持最后一个)@Damien\u不信者,那么这个问题的解决方案是什么呢?因为它不知道你想要比较什么-
>30秒?30小时?30000年(事实上,我不认为
TimeSpan
支持最后一个)@Damien\u不信者,那么这个问题的解决方案是
NewLinen
一个可空的
DateTime
?如果是这样,那么当它实际上是空的时,您希望发生什么事情(然后我可以考虑这些细节来更正我的答案)。那么
NewLinen
也是空的
DateTime
?如果是这样的话,那么当它实际上是
null
(然后我可以根据这些细节更正我的答案)时,您希望发生什么。