【问题标题】:How to display today's date and time as 9 am and continue till next day?如何将今天的日期和时间显示为上午 9 点并持续到第二天?
【发布时间】:2021-12-09 08:12:18
【问题描述】:

我正在做一个反应项目。我想将今天的日期和时间显示为“上午 9 点”。这必须保持不变,直到时间是第二天上午 9 点。之后,它应该将时间显示为上午 9 点以及当天的日期,并一直持续到第二天上午 9 点,依此类推。

 <span>Last Updated: {moment().format('MMMM Do YYYY,') + " 9:00 am"}</span>

上面的代码甚至在第二天上午 9 点之前显示时间为上午 9 点。它应该看起来像当前时间和日期仅在每天上午 9 点更新。

【问题讨论】:

  • 第二天早上 9 点是几点?
  • 需要显示当天的日期和时间为上午9点。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 我猜你可以只打印“9 AM”和“今天的日期”。这就是你想要的。
  • 您需要检查当前日期时间是否已超过上午 9 点。如果没有,则显示前一天。如果是这样,那么今天就展示。

标签: javascript reactjs time momentjs


【解决方案1】:

此代码创建一个函数,用于检索给定时间的格式化日期。如果没有指定小时,它将使用当前小时。它将返回今天的日期,除非小时在 9 点之前,在这种情况下它将返回昨天的日期。该格式将使用当前用户的本机格式来表示“长”日期。 HTML 显示所需的结果,控制台记录当天 9 点之前发生的事情以及当前时间。小时由用户所在的时区决定。

function getDateAtNine(forceHour) {
  let now = new Date();
  const hour = forceHour == null ? now.getHours() : forceHour;
  if (hour < 9) {
    now = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
  }
  return new Intl.DateTimeFormat(undefined, {
    dateStyle: 'long'
  }).format(now);
}

console.log(getDateAtNine(8)); // shows what will print at 8 am on today's date
console.log(getDateAtNine()); // shows what will print at the current hour on today's date

document.querySelector('#dateat9').textContent = getDateAtNine();
&lt;span id="dateat9"&gt;&lt;/span&gt;&lt;span id="nineam"&gt;,&amp;nbsp;9:00 am&lt;/span&gt;

【讨论】:

    【解决方案2】:

    这就是你要找的吗? ;)

    const getLastStartOfDay = (startOfDayHour) => {
      let todayStartOfDay = new Date();
      todayStartOfDay.setHours(startOfDayHour, 0, 0, 0);
    
      let yesterdayStartOfDay = new Date(todayStartOfDay);
      yesterdayStartOfDay.setDate(yesterdayStartOfDay.getDate() - 1);
    
      let dt = new Date();
      const displayDate =
        dt.getHours() < startOfDayHour ? yesterdayStartOfDay : todayStartOfDay;
    
      return displayDate;
    };
    
    console.log("LastStartOfDay: ", getLastStartOfDay(9));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      相关资源
      最近更新 更多