我认为这是一个相对简单的问题(这里是 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:我不是要比较两个日期,而是要在某个日期之后显示一段文字。
最佳答案
你可能只想做这样的事情:
if (new Date() >= new Date(2018, 0, 16))
月总是从 0 开始,而天总是从 1 开始。不要问为什么。
构造函数是这样定义的:
new Date(year, monthIndex [, day [, hour [, minutes [, seconds [, milliseconds]]]]]);
就去吧here有关 Date()
关于JavaScript 在特定日期后显示 <div>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50569857/