将时间戳转换为人类可读的格式

在使用javascript将unix时间戳转换为人类表示时,我遇到了一个奇怪的问题

这是时间戳

1301090400

这是我的javascript

var date=新日期(时间戳*1000);
var year=date.getFullYear();
var month=date.getMonth();
var day=date.getDay();
var hour=date.getHours();
var minute=date.getMinutes();
var seconds=date.getSeconds();

我预期的结果是2011年2月25日22时00分。但现在是2011年,2,6,0,0,0
我想念什么

getDay()返回一周中的某一天。要获取日期,请使用date.getDate()getMonth()检索月份,但月份是以零为基础的,因此使用getMonth()+1应该可以得到正确的月份。虽然这里的小时数是23(GMT+1),但这里的时间值似乎还可以。如果需要通用值,请将UTC添加到方法中(例如date.getUTCFullYear()date.getUTCHours()

var timestamp=1301090400,
日期=新日期(时间戳*1000),
日期值=[
date.getFullYear(),
date.getMonth()+1,
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds(),
];
警报(日期值)//=&燃气轮机;[2011, 3, 25, 23, 0, 0]

发表评论