一、获取当前时间戳
//获取当前时间戳
var time = new Date().getTime() 或 new Date().valueOf()
在 JavaScript 中,时间戳转时间对象的方法非常简单,直接将一个时间戳做为Date的参数即可.
//如果time = 1569324310000
var date = new Date(time) //时间戳转为时间对象
//date = Tue Sep 24 2019 19:25:10 GMT+0800 (中国标准时间)
注意:如果知道时间戳是秒级的就需要*1000 不然就错了。
new Date(1562169599000);
参数中的时间戳必须是 13 位的,多一位或少一位都不行。
new Date().getTime() /new Date().valueOf() 创建的时间戳是13位毫秒级!
13位时间戳(单位为毫秒)
10位字符串(单位为秒)
二、获取单个年月日值:
new Date(time).getDay() // 2 获取星期,范围是 0-6
new Date(time).getMonth() // 8 Sep 是九月,获取月份会比实际小一月,因为数组形式中存储,下标是从0 - 11
getMonth 方法返回一个处于 0 到 11 之间的整数,它代表 Date 对象中的月份值。这个整数并不等于按照惯例来表示月份的数字,而是要比按惯例表示的值小 1。如果一个 Date 对象中保存的时间值是 “Jan 5, 1996 08:47:00”,那么 getMonth 方法就会返回 0。
new Date(time).getDate() // 24 获取当前月份的日期
new Date(time).getFullYear() // 2019 获取年份
注意:new Date(time).getYear() //获取的是119 比实际小了1900
new Date(time).getHours() // 19 获取小时
new Date(time).getMinutes() // 25 获取分钟
new Date(time).getSeconds() // 10 获取秒
三、 如何将时间戳转换为普通日期格式,请看下面代码:
function formatDate(now) {
var year=now.getFullYear(); //取得4位数的年份
var month=now.getMonth()+1; //取得日期中的月份,其中0表示1月,11表示12月
var date=now.getDate(); //返回日期月份中的天数(1到31)
var hour=now.getHours(); //返回日期中的小时数(0到23)
var minute=now.getMinutes(); //返回日期中的分钟数(0到59)
var second=now.getSeconds(); //返回日期中的秒数(0到59)
return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
}
var g=1551334252272; //定义一个时间戳变量,时间戳为10位需*1000,时间戳为13位的话不需乘1000
var d=new Date(g); //创建一个指定的日期对象
console.log(d);
console.log(formatDate(d));
其中,在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。如果想传入特定日期,需将表示日期的字符串传递给Date构造函数。

本文介绍了如何在JavaScript中获取当前时间戳、提取日期的年月日值,并展示了将时间戳转换为普通日期格式的方法。重点强调了时间戳的精度问题以及getMonth()方法返回值的特殊性。
378

被折叠的 条评论
为什么被折叠?



