javascript - 计算日期的问题
问题描述
有人可以帮我确定为什么这段代码不起作用吗?
<script type="text/javascript">
const date = new Date();
const day = date.getUTCDate();
const month = date.getMonth(); //January is 0!
const md = month + "." + day
if (md < 3.03) {
var theDate = new Date();
var award_year1 = date.getFullYear();
var award_year2 = date.getFullYear() + 1;
}
else if (md > 3.03) {
var theDate = new Date();
var award_year1 = date.getFullYear() + 1;
var award_year2 = date.getFullYear() + 2;
}
console.log(award_year1);
console.log(award_year2);
</script>
今天是 6 月 7 日,所以它应该返回 Award_year1 = 2019 和 Award_year2 = 2020。
解决方案
只是一个建议,使您的代码更具声明性/更易于阅读。您可以按照您期望的方式比较 2 个日期对象。
const date = new Date();
let offset = 0;
const threshold = new Date();
threshold.setMonth(3);
threshold.setDate(3);
if (Date.now() > threshold) { //might be a bit easier to reason about
offset = 1;
}
var theDate = new Date();
var award_year1 = date.getFullYear() + offset;
var award_year2 = date.getFullYear() + 1 + offset;
console.log(award_year1);
console.log(award_year2);
推荐阅读
- javascript - 如何从使用 while 循环呈现的多个下拉菜单列表中仅打开单击的下拉菜单
- c++ - 声明指针时无效使用非静态数据成员
- xaml - TemplatedControl Expander 标头未显示
- r - 更快的采摘方法
- c# - WPF C# Animate Linear Gradient Brush 起点或终点
- python-3.x - numpy 数组 cPickle dumpe 的默认编码是 latin-1 吗?
- c# - 我们如何从 chrome 扩展向 wpf 客户端应用程序发送事件
- c# - 在没有 xaml 代码的情况下为 ListView 绑定 SourceItem
- .htaccess - 想要重定向 301 子域
- azure-ad-b2c - 如何在自定义策略内使用在门户上创建的自定义 OpenID Connect 提供程序?