JavaScript 在特定日期后显示 <div>

标签 javascript php html css

我认为这是一个相对简单的问题(这里是 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/

相关文章:

php - SELECT COUNT if 语句

Javascript:通过 .style 在悬停时设置元素颜色

css - 属性 “name”的正确替代方法是什么?

javascript - 将可为空的对象值转换为 Typescript 中的字符串

javascript - 将 HTML 标签从 JSON 字符串转换为真正的 HTML 元素

javascript - 尝试根据特定条件创建趋势公式

javascript - 定义完全独立的样式信息

php - CodeIgniter - 隐藏 Controller

javascript - PHP 重定向 : Chrome closes window

html - CSS 后代选择器不更新元素