我的剃刀代码中有两个if语句。它们都以"hardcoded month/hardcoded day/" + DateTime.Now.Year.ToString()
格式解析日期,并且如果日期介于两天之间,则显示操作链接。
当第一个比较日期设置为"10/01/" + DateTime.Now.Year.ToString()
时,它可以完美工作。
如果将其更改为"07/01"
,则会得到:
FormatException:字符串未被识别为有效的DateTime
我尝试了Parse
,ParseExact
和TryParse
。
如果将日期设置为7月1日,则无论使用7/1
,07/01
还是7/01
,这三种方法都会失败。
这有效:
@if (DateTime.Now > DateTime.Parse(("10/1/" + DateTime.Now.Year.ToString())) && DateTime.Now < DateTime.Parse("03/31" + (DateTime.Now.Year + 1)))
{
@:Action
}
这不是:
@if (DateTime.Now > DateTime.Parse(("7/1/" + DateTime.Now.Year.ToString())) && DateTime.Now < DateTime.Parse("03/31" + (DateTime.Now.Year + 1)))
{
@:Action
}
我希望7/1/2019
解析为与10/1/2019
相同的一年。
答案 0 :(得分:1)
尝试以下代码
@{
DateTime dateTime1 = DateTime.Parse("7/1/" + DateTime.Now.Year.ToString());
string yr = (DateTime.Now.Year + 1).ToString();
DateTime dateTime2 = DateTime.Parse("03/31/" + yr);
}
@if (DateTime.Now > dateTime1 && DateTime.Now < dateTime2)
{
@:Action
}