假设您网站的用户输入了日期范围。
2009-1-1 to 2009-1-3
您需要将此日期发送到服务器进行一些处理,但服务器希望所有日期和时间都是UTC格式。
现在假设用户在阿拉斯加、夏威夷或斐济。由于它们所在的时区与UTC完全不同,因此需要将日期范围转换为以下格式:
2009-1-1T8:00:00 to 2009-1-4T7:59:59
使用JavaScript Date对象,如何将第一个“本地化”的日期范围转换为服务器可以理解的内容?
发布于 2011-07-21 22:14:22
简单而愚蠢
var date = new Date();
var now_utc = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),
date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
return new Date(now_utc);
发布于 2012-08-15 13:41:56
下面是我的方法:
var now = new Date();
var utc = new Date(now.getTime() + now.getTimezoneOffset() * 60000);
生成的utc
对象实际上不是UTC日期,而是一个转换为与UTC时间匹配的本地日期(请参阅注释)。然而,在实践中,它做到了这一点。
发布于 2009-06-04 04:20:28
Date.prototype.toUTCArray= function(){
var D= this;
return [D.getUTCFullYear(), D.getUTCMonth(), D.getUTCDate(), D.getUTCHours(),
D.getUTCMinutes(), D.getUTCSeconds()];
}
Date.prototype.toISO= function(){
var tem, A= this.toUTCArray(), i= 0;
A[1]+= 1;
while(i++<7){
tem= A[i];
if(tem<10) A[i]= '0'+tem;
}
return A.splice(0, 3).join('-')+'T'+A.join(':');
}
https://stackoverflow.com/questions/948532
复制相似问题