如何在 javascript 中显示明天的完整日期

how to display tomorrow's full date in javascript

我有以下脚本:

document.write('<p><span id="date-time">', new Date().toLocaleString(), '<\/span>.<\/p>')
if (document.getElementById) onload = function () {
    setInterval("document.getElementById ('date-time').firstChild.data = new Date().toLocaleString()", 50)
}

它显示:

Friday, January 09, 2015 12:20 PM.

我怎样才能以相同的格式显示明天的日期而不显示时间?

您可以为 toLocaleString 设置自定义选项,请参阅 MDN documentation for toLocaleString

解决您的问题:

var tomorrow = new Date(Date.now() + 1000 * 3600 * 24);
var result = tomorrow.toLocaleString('en-US', { weekday: 'long', month: 'long', year: 'numeric', day: 'numeric' });

document.write('<p><span id="date-time">', result, '<\/span>.<\/p>');

this fiddle

var tomorrow = new Date();
 tomorrow.setDate(tomorrow.getDate() + 1);
 var str = tomorrow.toLocaleString().substring(0,tomorrow.toLocaleString().indexOf(':')-3);

document.write('<p><span id="date-time">', str, '<\/span>.<\/p>')
if (document.getElementById) onload = function () {
setInterval("document.getElementById ('date-time').firstChild.data = str", 50)
}

正如@Qwerty 指出的那样,您不会总是在所有计算机上获得完全相同的格式。

这会将 +1 添加到当天的 getDate() 结果中,然后以给定的格式打印。

var tomorrow = new Date(new Date().setDate(new Date().getDate()+1));
console.log(tomorrow.toLocaleString('en-US', { weekday: 'long', month: 'long', year: 'numeric', day: 'numeric' }));

请注意,这将以相同的格式 在所有目的地和语言中打印日期 ,这与不带参数的 toLocaleString() 不同。

...

/编辑
将一天递增一天可能更简洁的方法是

var date = new Date();
date.setDate(date.getDate() + 1);
// date.toLocaleString(...) remains the same as above

日期可以用自纪元(1970 年 1 月 1 日,00:00:00 在 javascript 中为 UTC)以来的毫秒数表示

一天是 86400000 毫秒 (24 * 60 * 60 *1000)

创建一个 Date object for today,then get the millisecond representation (getTime) 并添加一天的毫秒数

创建(使用构造函数)或修改 Date object (using setTime method) from this millisecond representation and then use the toDateString 方法以 return 仅将日期部分作为字符串。

或者对于语言敏感的表示,使用 toLocaleDateString

注意:toLocaleDateString 浏览器支持有限,因此您可能需要自己执行手动格式化。

Where can I find documentation on formatting a date in JavaScript?

var todayObj = new Date()
    tomorrowMs = todayObj.getTime() + 86400000,
    tomorrowObj = new Date(tomorrowMs),
    tomorrowDateStr = tomorrowObj.toDateString();

document.body.appendChild(document.createTextNode(tomorrowDateStr));