作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在显示正确日期时遇到问题。如果今天是该月的最后一天,并且时间为晚上 20:00 及以上,我想显示明天的日期。
我已经尝试过这个example , this和 this但对我来说没有任何作用。
function isLastDay(dt) {
return new Date(dt.getTime() + 86400000).getDate() === 1;
}
function changeDay() {
var d = new Date();
d.setHours(d.getHours() + (d.getTimezoneOffset() / 60) + 3);
d.setDate(31);
d.setHours(20);
var day = d.getDate();
var hrs = d.getHours();
var min = d.getMinutes();
var sec = d.getSeconds();
var dayString = 'today';
var mnt = new Array("january", "february", "march", "april", "may",
"june", "july", "august", "september", "october", "november", "december");
var lastday = new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).getDate();
if (((hrs == 19) && (min > 45)) || (hrs > 19)) {
day = day + 1;
dayString = 'tomorrow';
}
if (day === lastday) {
$(".start-web").html(day + " " + mnt[d.getMonth() + 1, 0]);
} else {
$(".start-web").html(day + " " + mnt[d.getMonth()]);
}
$(".start-web-d").html(dayString);
}
setInterval("changeDay()", 1000);
<div>
<p>
<strong>
Start
<span class="start-web-d"> </span>
<span class="start-web"> </span>
20:00
</strong>
</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
例如,我的脚本显示 1 月 32 日,我的目的是显示 2 月 1 日。任何帮助将不胜感激,谢谢。
最佳答案
这个逻辑应该是您所需要的:如果明天是第一天,那么今天是该月的最后一天,如果日期 getHours
方法返回 20 或更大,您应该满足您的条件。
const dt = new Date();
const tomorrow = new Date(dt.getTime() + 60 * 60 * 24 * 1000).getDate();
if (tomorrow === 1 && dt.getHours() >= 20) {
console.log('criteria met!');
} else {
console.log(dt, tomorrow);
}
关于javascript - 使用js显示日期取决于它是否是该月的最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54220538/
我是一名优秀的程序员,十分优秀!