[英]Javascript format Date without timezone
在此代码中,它实际上使用减日期差显示服务器日期,然后加回该差。 结果将显示为:2015年1月20日星期二09:18:06 UTC + 0800
但我只想显示-> 2015年1月20日星期二09:18:06这没有时区,是否有办法在myTimer()函数中格式化Date对象? 我在java doc中检查了没有没有时区的构造函数。
var d = new Date(
<%=sdate.get(Calendar.YEAR)%>,
<%=sdate.get(Calendar.MONTH)%>,
<%=sdate.get(Calendar.DAY_OF_MONTH)%>,
<%=sdate.get(Calendar.HOUR_OF_DAY)%>,
<%=sdate.get(Calendar.MINUTE)%>,
<%=sdate.get(Calendar.SECOND)%>
);
var delta = d.getTime() - Date.now() ;
var myVar = setInterval(function(){ myTimer() }, 1000);
function myTimer() {
var d = new Date(Date.now() + delta);
var t = d.toString();
document.getElementById("demo").innerHTML = t;
}
您可以使用toLocaleTimeString :
var options = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric', hour12: false };
console.log(new Date().toLocaleTimeString("en-US", options));
// Tue, Jan 20, 2015, 08:28:41
它与所需的输出不同,但是很接近。 它还有点取决于您的浏览器版本,但是您确实说过您不能使用外部库,因此这是该决定的陷阱。
关于切碎toString
的警告语-在所有实现/语言环境上都不相同。 例如,我的矿山输出Tue Jan 20 2015 08:29:54 GMT+0000 (GMT Standard Time)
一种可能的解决方案是用空字符串替换不需要的字符串:
t = t.replace('UTC+0800 '+d.getFullYear(),'');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.