js中传入指定日期转换为时间戳,可以使用原生javascript的Date对象进行格式化操作或第三方js库如moment.js进行格式化输出。以下是这2种方法的具体实现:
1、使用原生javascript的Date对象,进行格式化
(1)将日期字符串转换为Date类型的对象。
let d = new Date('2018-01-01')
(2)转换为时间戳。
let t = d.getTime(d) // 方法1
let t = d.valueOf(d) // 方法2
let t = d.parse(d) // 方法3
2、第三方js库moment.js进行格式化
(1)在html中引入moment.js,添加以下script标签:
<script src="https://cdn.bootcss.com/moment.js/2.20.1/moment.js"></script>
(2)将日期转换为时间戳
参数格式为:YYYY-MM-DD HH:mm:ss 或 YYYY-MM-DD
moment('2018-01-01').valueOf()
扩展资料:
1、js将当前日期转换为时间戳
let timeStamp = new Date().getTime()
2、js将时间戳转换为日期
let d = new Date(timestamp * 1000)// 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let yyyy = d.getFullYear() + '-'
let MM = (d.getMonth()+1 <10 ? '0'+(d.getMonth()+1) : d.getMonth()+1) + '-'
let dd = d.getDate() + ' '
let HH = d.getHours() + ':'
let mm = d.getMinutes() + ':'
let ss = d.getSeconds()
return yyyy + MM + dd + HH + mm + ss
参考资料来源:JavaScript标准库-Date
得到是毫秒数,假设得到的是cnt,则
cnt毫秒 = cnt / 1000 秒
cnt毫秒 = cnt / 1000 / 60 分
cnt毫秒 = cnt / 1000 / 60 / 60 小时
cnt毫秒 = cnt / 1000 / 60 / 60 / 24 天
注:时间戳即秒数
扩展资料:关于时间戳的转换:
date = new Date('2014-04-23 18:55:49:123')//传入一个时间格式,如果不传入就是获取现在的时间了,就这么简单。
有三种方式获取
1、time1 = date.getTime()
2、time2 = date.valueOf()
3、time3 = Date.parse(date)
三种获取的区别
第一、第二种:会精确到很小
第三种:只能精确到秒,将用0来代替
比如上面代码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000
在js中,可以对两个时间戳进行相减,使用if语句判断结果,从而实现时间戳的比较。具体步骤如下:
1、在test.html文件内,命名为test.html,用于讲解js时间戳怎么比较。
2、在test.html文件内,在js标签内创建一个pan()函数,函数有两个参数,分别st1,st2。
3、在pan()函数内,分别将两个时间使用new Date()转换为时间对象,保存在t1,t2变量中。
4、在pan()函数内,将两个时间对象分别利用getTime()方法转换为时间戳,分别保存在变量tt1,tt2变量中。
5、在pan()函数内,将两个时间戳相减,差值保存在res变量中。
6、在pan()函数内,使用if语句对res进行判断,如果res等于0,提示“两个时间相等”,如果res大于0,提示“t1时间大于t2时间”,如果不符合上面两种情况,则提示“t2时间大于t1时间”。
7、在pan()函数外,创建两个时间变量,并调用pan()函数进行判断。
8、在浏览器打开test.html文件,查看判断的结果。