关闭搜索(ESC)
搜索标签:

js实现时间和时间戳的转换

2015-01-25 浏览:709 标签: 时间戳 js 转换

前奏

之前做毕业设计,碰到了时间和时间戳的问题,我一般将时间存入mysql不用date格式,感觉调用比较麻烦(可能我还不会灵活用mysql吧),所以喜欢用varchar格式存储时间,以时间戳的方式。

现在讲一下时间戳和时间的区别。

时间戳

时间戳是自1970年1月1日(08:00:00 GMT)至当前时间的总秒数。它也被称为Unix时间戳(Unix Timestamp)。Unix时间戳(Unix timestamp),或称Unix时间(Unix time),POSIX时间(POSIX TIME),是一种时间表达方式,定义为格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

时间

这里的时间的主要表达方式是按照年月日时分秒的方式实现,如:2014/4/14 23:24:00

下面讲讲时间和时间戳之间的转换。

获取时间戳:

// 首先我们获取unix时间戳

var Unix_timestamp = Math.round(new Date().getTime()/1000);

console.log(Unix_timestamp);

//结果是 1397485655

将unix timestamp转化为时间

// 将Unix timestamp转化为时间

var unixTimestamp = new Date(Unix_timestamp*1000);

var commonTime = unixTimestamp.toLocaleString();

console.log(commonTime);

// 结果是 2014年4月14日 下午9:52:49

还有一种简单的用法

function getLocalTime2(nS) {

    return new Date(parseInt(nS)*1000).toLocaleString().substr(0,18);

}

console.log(getLocalTime2(Unix_timestamp));

// 2014年4月14日 下午11:08

如果需要以2014-4-14 下午11:08:33 显示

function getLocalTime(nS) {

    return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");

}

console.log(getLocalTime(Unix_timestamp));

总结

时间的一些转换在js的处理中是很重要的,需要学会灵活的运用它,才能不用百度写代码,基础是最重要的。
添加评论