我对javascript的getDate函数有一个非常奇怪的问题。在某些函数的开头,我使用以下命令创建了一个Date对象:
var day = new Date(date); 其中date是unix时间戳。
我没有更改day对象,但过了一段时间,我尝试获取该对象的月份日期,但day.getDate()总是给我错误的值。
例如:
alert(day.getTime() + "-" + day.getDate() + "-"+ day.getMonth() +"-" + day.getFullYear() + "-" + day.getHours() + "-" + day.getMinutes() + "-" + day.getSeconds()); 给出了以下结果:1290297600-15-0-1970-23-24-57
在另一个点上,结果是:1290384000-15-0-1970-23-26-24
这是奇怪的部分,如果你查找unixtimestamp 1290297600,你会发现这是2010年11月21在格林威治时间00:00:00的时间戳(1290384000是第二天,同样的时间)
时间戳是正确的,但我不能理解它给我的日期。
在任何浏览器中,这都会发生在我身上。
我做错了什么?
发布于 2010-12-07 05:57:25
这里的问题是,JavaScript中的Date object没有采用Unix时间戳(从纪元开始的秒数),它实际上是从纪元开始的毫秒数。如果您只是将date变量乘以1000,那么您将得到正确的输出。
Example here
发布于 2011-03-03 14:18:03
Time = Unix时间戳格式。我在时间上增加了64800秒,因此它将被转换为山地标准时间。
*时间戳24 * 60 * 60
.getTime()//毫秒24 * 60 * 60 * 1000
private DateField dateField1;/
dateField1= DateField("Date:",DateField.DATE);f.append(dateField1);
Date d= new Date();dateField1.setDate(d);
String TimeSeg =String
https://stackoverflow.com/questions/4371252
复制相似问题