是否可以使用默认的 java 脚本或 jquery 函数以“yyyymmdd”格式获取给定日期的下一个日期?
问问题
5500 次
6 回答
3
当您指定 jQuery UI 时,您可以使用其内置的日期格式化程序来获取所需的输出。
使用正则表达式和new Date
如下所示是为了保证日期解析的变幻莫测不会影响结果。
function getTomorrow(dateStr) {
var ymd = dateStr.match(/^(\d{4})(\d{2})(\d{2})$/);
if (ymd) {
var date = new Date(ymd[1], ymd[2] - 1, ymd[3]);
date.setDate(date.getDate() + 1);
return $.datepicker.formatDate('yymmdd', date);
} else { // parse error
return null;
}
}
于 2012-09-02T08:24:10.123 回答
2
这里似乎有些混乱。
JavaScript Date 对象的核心是自 1970-01-01 00:00:00 UTC以来的毫秒数。最后一点非常重要。
如果您通过指定部分来创建日期,例如 2012 年 9 月 2 日(注意月份编号):
new Date(2012, 8, 2);
然后在主机本地时区的日期开始时的午夜创建一个日期对象,即本地时区的 2012-09-02T00:00:00。但是,如果您指定自纪元以来的时间,例如
new Date(1346544000000) // 2012-09-02T00:00:00Z
那么日期是在那个时间UTC创建的,所以它会在不同的时区显示不同的本地时间,代表相同的 UTC 时间。因此,如果时间是 2012-09-02T00:00:00Z,那么在 GMT (GMT+10) 前十小时的时区中,它将是:
2012-09-02T10:00:00+1000
如果时区比 GMT (GMT-06) 晚 6 小时,它将是:
2012-09-01T18:00:00-0600
等等。
于 2012-09-02T10:27:11.553 回答
1
构造日期对象,并设置日期加 1。
var dateStr = "20120902";
var d = new Date(dateStr.replace(/(\d{4})(\d{2})(\d{2})/, '$1/$2/$3'));
d.setDate(d.getDate() + 1);
console.log(d);
于 2012-09-02T07:49:31.257 回答
0
这是您的代码:
function getnextDay(prevDate) {
var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
prevDate = prevDate.toString();
var formatteDate = prevDate.substr(0, 4) + ',' + prevDate.substr(4, 2) + ',' + prevDate.substr(6, 2);
formatteDate = new Date(formatteDate);
document.write(weekday[formatteDate.getDay() + 1])
}
getnextDay(19890831)
和 小提琴
于 2012-09-02T08:10:45.810 回答
0
它非常简单。
var today = new Date();
var date = new Date(today.getFullYear(),today.getMonth(),today.getDate()+1);
如果您广泛使用日期功能,请使用 moment.js。
为了第二天,这就足够了。
于 2015-09-14T04:23:33.360 回答
-1
是的
使用 javaScript 非常简单,如下所示:
today = new Date().getTime();
tomorrow = today + 24*60*60*1000;
parsed_tomorrow = new Date(tomorrow);
于 2014-04-08T12:50:10.537 回答