javascript - 要显示的 JavaScript在某个日期之后
问题描述
我相信这是一个相对简单的问题(这里是一个 JavaScript 菜鸟),但我似乎找不到这个特定日期函数的线程。我正在为一个学术团体进行从基于 PHP 的网站到 drupal CMS 的网站迁移。一些 PHP 显然已经坏了,我正在尝试用 Javascript 替换简单的脚本。给我带来很多麻烦的一个问题是如何让文本仅在某个日期之后出现。在 PHP 中,我的功能代码是:
<?php if (date('YmdH') > 2018011710 ) { ?>
<p class="error">Please note that the deadline for submitting proposals has passed.</p>
<?php } ?>
所以我需要在 JavaScript 中做同样的事情。这是我想出的(我为我的草率代码提前道歉,因为我是 JavaScript 的初学者):
第一个隐藏 DIV 的 CSS:
<style type="text/css">
.DateDiv { display: none;}
</style>
然后是 div 本身:
<div class="DateDiv">
<h3>Please note that the deadline for submitting proposals has passed.</h3>
</div>
最后,我的 JavaScript 不起作用:
<script>
$(document).ready(function() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth();
var yyyy = today.getFullYear();
if(dd<10) {
dd = '0'+dd
}
if(mm<10) {
mm = '0'+mm
}
today = mm + '/' + dd + '/' + yyyy;
// show only if current date is after January 16, 20018
if (today > 0, 16, 2018) {
$(".DateDiv").show();
}
});
</script>
如果有人能帮我解决这个问题,我将不胜感激。如果我以一种比它需要的更复杂的方式来解决这个问题,我也会很感激任何建议。
提前致谢。
PS:我不是要求比较两个日期,而是在某个日期之后显示文本。
解决方案
//show only if current date is after January 16, 20018
var date_to_check_with = new Date("20180116").getTime();
//.getTime() will give time in milliseconds (epoch time)
var current_date = new Date().getTime();
console.log(date_to_check_with < current_date);
推荐阅读
- firebase - 用于从嵌套对象中添加/删除值的 Firestore 安全规则
- excel - 将公式从下面的单元格复制到新插入的单元格
- c - Xlib XSendEvent 自定义 ClientEvent
- python - 如何找到拾取多个对象的最短路径?
- python - 始终将某些元素保留在字典的开头?
- reactjs - 错误“自定义关键字定义无效:data.errors 应该是布尔值”
- c - 指向函数初始化的双指针数组
- django - VS 2017 Python/Django 模板 - CSS 不起作用,但内联样式起作用
- python - 使用 numpy,如何生成一个数组,其中每个索引处的值是第二个数组中从 0 到同一索引的值的总和?
- java - 距离矩阵与 Apache Poi