datetime - 如果我更改要解析的日期,则字符串不会被识别为有效的 DateTime
问题描述
我的剃刀代码中有两个 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
。
解决方案
试试下面的代码
@{
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
}
推荐阅读
- java - 数组只打印最后一个整数
- laravel - Laravel Eloquent 查询使用 WHERE AND WHERE
- javascript - 在 HTML 嵌入式 Java 代码中实时使用 HTML 表单中的用户输入
- reactjs - 重定向后反应不重新渲染
- c++ - 如何在不安装客户要求的情况下编译 PCAP 程序
- mysql - 使用 Python 连接器从 RaspberryPi 远程访问 MySQL 数据库
- python - 如何访问作为嵌套函数一部分的函数,以便可以调用该内部函数?
- node.js - 识别 nodejs 服务器上的设备
- html - 如何水平拆分网页?
- javascript - 保存使用 readline 模块制作的数组