使用默认js函数的javascript中的日期的第二天

next day of a date in javascript with default js functions

本文关键字:javascript 日期 第二天 函数 默认 js      更新时间:2023-09-26

是否可以使用默认的java脚本或jquery函数以"yyyymmdd"格式获取给定日期的下一个日期?

指定jQuery UI后,可以使用其内置的日期格式化程序来获得所需的输出。

下面显示的regexp和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;
    }
}

演示位置http://jsfiddle.net/alnitak/R8awH/

这里似乎有点混乱。

javascript Date对象的核心是自1970-01-01 00:00:00UTC以来的毫秒数。最后一点非常重要。

如果您通过指定零件来创建日期,例如2012年9月2日(注意月号):

new Date(2012, 8, 2);

则为主机本地时区中日期开始时的午夜(即本地时区中的2012-09-02T00:00:00)创建日期对象。但是,如果指定自epoch以来的时间,例如

new Date(1346544000000) // 2012-09-02T00:00:00Z

则日期将在该时间创建UTC,因此它将在不同时区显示不同的本地时间,表示相同的UTC时间。因此,如果时间是2012-09-02T00:00:00Z,那么在格林尼治标准时间(GMT+10)前十小时的时区中,它将是:

2012-09-02T10:00:00+1000

如果时区比格林尼治标准时间(GMT-06)晚6小时,则为:

2012-09-01T18:00:00-0600

等等。

构造日期对象,并设置日期加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);

这是您的代码:

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)​​

以及FIDDLE

它非常直接。

var today = new Date();
var date = new Date(today.getFullYear(),today.getMonth(),today.getDate()+1);

如果您广泛使用日期功能,请使用moment.js
只要有第二天,这就足够了。

yes

使用javaScript非常容易,如下所示:

today = new Date().getTime();
tomorrow = today + 24*60*60*1000;
parsed_tomorrow = new Date(tomorrow);