时间戳转换为标准时间 与 获取单个年月日值

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

一、获取当前时间戳

//获取当前时间戳
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构造函数。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值