我使用javascript函数转换日期{date =\/Date(1293034567877)\/}
:
function getDateFromJSON(date) {
var newdate = new Date(parseInt(date.replace(/(^.*\()|([+-].*$)/g, '')));
retdate = (newdate.getMonth() + 1) + "/" + newdate.getDate() + "/" + newdate.getFullYear();
var retdate;
例如:如果收到的日期为7/22/2008 12:00:00 PM
,则会在PST
和EST
中正确显示,但收到的日期为7/22/2008 12:00:00 AM
,然后显示为7/21/2008
PST
用户。
我只需要显示日期部分任何建议我做错了什么
答案 0 :(得分:0)
使用UTC日期功能不会更改时区。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
.getUTCDate()
会为22
1216684800000
获取Tue, 22 Jul 2008 00:00:00 GMT
如果您只需要当前时区日期,请使用.getDate()
。
您指明此日期不是“正确”,但您需要考虑所有时区的日期不一定相同。确保您存储的午夜日期为UTC或GMT0。由于EST(格林威治标准时间-5)和太平洋标准时间(格林威治标准时间-8)遵循格林威治标准时间午夜,这些时区尚未提前约会。
将我的机器设置为EST并使用1216684800000
我得到21
日期。
var d = new Date(1216684800000);
d.getDate(); // 21
d.getUTCDate(); // 22
d.toUTCString(); // Tue, 22 Jul 2008 00:00:00 GMT