我有以下脚本:
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.
如何以相同的格式显示明天的日期,让时间休息?
答案 0 :(得分:2)
您可以为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。
答案 1 :(得分:1)
这会将+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
答案 2 :(得分:0)
日期可以用自纪元以来的毫秒数表示(javascripts案例中的1970年1月1日,00:00:00)
一天是86400000毫秒(24 * 60 * 60 * 1000)
为今天创建一个Date
对象,然后获得毫秒表示(getTime
)并添加一天毫秒
从这个毫秒表示创建(使用构造函数)或修改Date
对象(使用setTime
方法),然后使用toDateString
方法将日期部分作为字符串返回
或者对于语言敏感的表示,请使用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));
&#13;
答案 3 :(得分:-2)
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所说,你并不总能在所有计算机上获得完全相同的格式。