【问题标题】:how do I display an event a day before it happens? [closed]如何在事件发生前一天显示事件? [关闭]
【发布时间】:2021-12-05 04:22:47
【问题描述】:

我目前正在为活动时间表等建立一个网站,所以基本上它会显示所有即将举行的活动及其日期,我想要它做的是在实际活动前一天突出显示活动发生。

【问题讨论】:

  • 请说明你是如何存储你的事件的,如果可能的话,如何复制这种情况。
  • 你能举一些事件的例子吗??
  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • javascriptisnotjava.com 修复你的标签。
  • 比较活动日期和今天的日期。如果比今天少一天,请添加一个亮点。您可以使用许多日期库来执行此操作。目前还不清楚你目前在哪里或你被困在哪里。澄清这个问题是有道理的。如果您希望在网站上显示事件,您可能还需要考虑使用现成的日历 UI,例如 fullcalendar.io

标签: javascript java html css


【解决方案1】:
let a = new Date(); // today date, will be updated everyday
let b = targetDate; // you need to set this to whichever date you want to check.

a.setDate(a.getDate()+1); // make current date increase by 1;

if(a == b){  // check if target date is equal to today's date + 1
  alert('Today is the day you were waiting for.'); // trigger required event here
}

您可以在此处使用 for 循环检查多个日期。

【讨论】:

    【解决方案2】:

    查看Luxon。它使处理这些类型的问题变得更加容易。

    但为了更有帮助,您要做的是确定您要比较的日期是否大于明天的开头,而小于明天的结尾。有很多方法可以做到这一点,但对于新开发人员来说,最直接的方法是在“vanilla” JavaScript 中使用类似这样的方法:

    function isTomorrow(date) {
      var now = new Date();
      var tomorrow = new Date(now.setDate(now.getDate() + 1));
      var startOfTomorrow = tomorrow.setUTCHours(0,0,0,0);
      var endOfTomorrow = tomorrow.setUTCHours(23,59,59,999);
      return Number(date) > startOfTomorrow && Number(date) < endOfTomorrow;
    }
    

    【讨论】:

      【解决方案3】:
          let date = new Date()
          
          date.setDate(date.getDate() - 1)
          
          date;
      

      【讨论】:

      • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。您可以在帮助中心找到更多关于如何写好答案的信息:stackoverflow.com/help/how-to-answer。祝你好运?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多