永发信息网

js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳

答案:4  悬赏:10  手机版
解决时间 2021-03-04 06:44
js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳
最佳答案
var date = new Date(日期);

// 有三种方式获取
1、var time1 = date.getTime();
2、var time2 = date.valueOf();
3、var time3 = Date.parse(date);
以上三种获取方式的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒用000替代
例:2013-08-30的时间戳计算方法为:
var timeStr = new Date('2013-08-30');
timeStr = timeStr.getTime() 
输出结果为1377820800000

扩展资料:
将时间戳转换成日期格式:
function timestampToTime(timestamp) {
var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = date.getDate() + ' ';
var h = date.getHours() + ':';
var m = date.getMinutes() + ':';
var s = date.getSeconds();
return Y+M+D+h+m+s;
}
timestampToTime(1403058804);
console.log(timestampToTime(1403058804));//2014-06-18 10:33:24
注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。
全部回答
以前遇到过一个关于时间戳的问题,为了不被大家鄙视,先说一下概念。
具体时间戳怎么定义的我也不清楚,但百度百科中有这么一句:“时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数”。
按这个定义,编程语言中倒是有一种类似的函数,getTime(),但这个函数返回的是自1970年1月1日到当前时间的总 毫秒数 ,而不是总 秒数。
在js中,将一个字符转化成Date型也不是什么难事:
var str = '2013-08-30'; // 日期字符串
str = str.replace(/-/g,'/'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串
var date = new Date(str); // 构造一个日期型数据,值为传入的字符串
在上面,new Date(str)构造了一个日期,参数str至少要提供年月日三部分,也就是形如“2013/03/08”的字符串,不能是"2013/03",否则将得到一个NaN。此时构造出来的时间是:2013/03/08 00:00:00。同时你还可以传入小时、分钟和秒数,但不能只传入小时,比如“2013/03/08 17”,这样的参数同样会得到一个NaN。参数可以是“2013/03/08 17:20”或者“2013/03/08 17:20:05”,这样都可以得到正确的时间,其中如果秒数没给出,则默认为0。
此时得到的是日期型数据,如果要得到上面所谓的时间戳,可以这样:
var time = date.getTime();
这样得到的是一个数值,表示的是从1970年1月1日0点0分0秒到date那一刻的毫秒数,如果把这个数字除以1000,就得到了秒数,同样继续除以60,得到分钟,再除以60得到小时等等。
提示,通过这个getTime()函数,你可以得到两个日期的毫秒数,继而转化成秒数、分钟、小时甚至天数,比较两个日期的差值。来自:求助得到的回答
具体时间戳怎么定义的我也不清楚,但百度百科中有这么一句:“时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数”。
按这个定义,编程语言中倒是有一种类似的函数,getTime(),但这个函数返回的是自1970年1月1日到当前时间的总 毫秒数 ,而不是总 秒数。
在js中,将一个字符转化成Date型也不是什么难事:
var str = '2013-08-30'; // 日期字符串
str = str.replace(/-/g,'/'); // 将-替换成/,因为下面这个构造函数只支持/分隔的日期字符串
var date = new Date(str); // 构造一个日期型数据,值为传入的字符串
在上面,new Date(str)构造了一个日期,参数str至少要提供年月日三部分,也就是形如“2013/03/08”的字符串,不能是"2013/03",否则将得到一个NaN。此时构造出来的时间是:2013/03/08 00:00:00。同时你还可以传入小时、分钟和秒数,但不能只传入小时,比如“2013/03/08 17”,这样的参数同样会得到一个NaN。参数可以是“2013/03/08 17:20”或者“2013/03/08 17:20:05”,这样都可以得到正确的时间,其中如果秒数没给出,则默认为0。
此时得到的是日期型数据,如果要得到上面所谓的时间戳,可以这样:
var time = date.getTime();
这样得到的是一个数值,表示的是从1970年1月1日0点0分0秒到date那一刻的毫秒数,如果把这个数字除以1000,就得到了秒数,同样继续除以60,得到分钟,再除以60得到小时等等。
提示,通过这个getTime()函数,你可以得到两个日期的毫秒数,继而转化成秒数、分钟、小时甚至天数,比较两个日期的差值。

var strtime = '2013-08-30 18:55:49:123';
var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做
var arr = strtime.replace(/ |:/g, '-').split('-');
date = new Date(Date.UTC(arr[1], arr[2], arr[3], arr[4], arr[5]));
//三种方式获取:
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);
//三种获取的区别:
第一、第二种:会精确到毫秒 
第三种:只能精确到秒,毫秒将用0来代替 
比如上面代码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000
扩展资料:
Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。
目前相当一部分操作系统使用32位二进制数字表示时间。此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:0var date = new Date(2013,08,30);
alert(date.getTime());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求救!!我被自家狗狗咬伤
新买了的踏板车才跑200公里,最近出现一个问
在苏州园区交的公积金能在河南老家买房按揭贷
水域环境的保护:保护水生动物最重要的是保护
3.7÷2.5+2.3÷2.5怎样简便计算?.
10点28分时针与分针的夹角是多少度
根据辜正坤教授的理论,在同等条件下,中国学
歌词中含有赴汤蹈海,世界由我主宰的歌曲 mp3
情绪波动是什么意思
手指甲真能卖钱吗?有点不相信....我的都快5厘
赖着你,每一天,离不开你,哪首歌啊
数列的极限中各数学符号的意思 我的理解是
想知道: 无锡市 无锡高新区综合保税区 在哪
妲己是女娲派来的吗
电脑频繁出现你希望计算机做什么!而且易出现
推荐资讯
哪种木命最好
解答题汽车行驶时,要消耗汽油,尽可能详细地
各位好 女生明确清楚拒绝我表白后,她说她不希
一辆自行车车轮的直径是710毫米,车轮滚动一
打印机照片能打出来文档却打不出来是怎么回事
祝愿老师未来的毕业赠言(要是祝愿未来,祝愿
老虎洞我想知道这个在什么地方
黄氏酒业商行地址在哪,我要去那里办事
除兵马俑外,我国珍贵的历史文物有( ),( )
哪能领到京东大额优惠券
娄星区娄底幻影星空VR奇幻世界我想知道这个在
安卓市场和安智市场那个软件好用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?