如何将今天的日期和时间显示为上午 9 点并持续到第二天?
How to display today's date and time as 9 am and continue till next day?
我正在做一个反应 project.I 想将今天的日期和时间显示为“上午 9 点”。这必须保持不变,直到时间为第二天上午 9 点。之后它应该显示时间为上午 9 点以及当天的日期,并一直持续到第二天上午 9 点,依此类推。
<span>Last Updated: {moment().format('MMMM Do YYYY,') + " 9:00 am"}</span>
以上代码显示时间为上午9点,甚至在第二天的时间为上午9点之前。它应该看起来像当前时间和日期只在每天上午 9 点更新。
这就是您要找的吗? ;)
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));
此代码创建一个函数,用于在给定时间检索格式化日期。如果未指定小时,它将使用当前小时。它将 return 今天的日期,除非时间在 9 点之前,在这种情况下它将 return 昨天的日期。对于“长”日期,该格式将使用当前用户的本机格式。 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();
<span id="dateat9"></span><span id="nineam">, 9:00 am</span>
我正在做一个反应 project.I 想将今天的日期和时间显示为“上午 9 点”。这必须保持不变,直到时间为第二天上午 9 点。之后它应该显示时间为上午 9 点以及当天的日期,并一直持续到第二天上午 9 点,依此类推。
<span>Last Updated: {moment().format('MMMM Do YYYY,') + " 9:00 am"}</span>
以上代码显示时间为上午9点,甚至在第二天的时间为上午9点之前。它应该看起来像当前时间和日期只在每天上午 9 点更新。
这就是您要找的吗? ;)
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));
此代码创建一个函数,用于在给定时间检索格式化日期。如果未指定小时,它将使用当前小时。它将 return 今天的日期,除非时间在 9 点之前,在这种情况下它将 return 昨天的日期。对于“长”日期,该格式将使用当前用户的本机格式。 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();
<span id="dateat9"></span><span id="nineam">, 9:00 am</span>