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

JavaScript014

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

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

在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。

代码如下所示:先转成date就行了  

      // 获取某个时间格式的时间戳

      var stringTime = "1990-01-01 "

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

      timestamp = timestamp / 1000

      //1990-01-01 时间戳

      console.log(stringTime + "的时间戳为:" + timestamp)