跳到主要内容

javascript 下将万恶的毫秒变成友好可识别的 时,分,秒

· 阅读需 2 分钟
一介布衣
全栈开发者 / 技术写作者

javascript 环境里的时间戳随处可见,这个值表示的是从 1970年1月1日午夜0点开始计数到现在的一个毫秒数.

获取JavaScript中的时间戳有几种方法:

var timestamp =Date.parse(new Date());

此方法精确到了秒,毫秒位数上全部都是0

var timestamp = (new Date()).valueOf();

此方法精确到了毫秒位.如果考虑到浏览器兼容性的问题,上面的方法可以兼容市面上大多的浏览器,推荐使用.

var timestamp=new Date().getTime();

此方法和上面得到的值一样.

var timestamp=Date.now();

如果是在V8环境下运行javascript ,推荐用这种方法,速度快,节省资源.

上面所有获取到的时间戳是一个类似于 1280977330748 这样的结果.

我们可以写一个通用的方法来将此数值变换成对人类友好提示的 xx时xx分xx秒

function MillisecondToDate(msd) {
var time = parseFloat(msd) / 1000;
if (null != time && "" != time) {
if (time > 60 && time < 60 * 60) {
time = parseInt(time / 60.0) + "分钟" + parseInt((parseFloat(time / 60.0) -
parseInt(time / 60.0)) * 60) + "秒";
}
else if (time &gt;= 60 * 60 && time < 60 * 60 * 24) {
time = parseInt(time / 3600.0) + "小时" + parseInt((parseFloat(time / 3600.0) -
parseInt(time / 3600.0)) * 60) + "分钟" +
parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60) + "秒";
}
else {
time = parseInt(time) + "秒";
}
}
return time;
}