搞清楚JavaScript中的Date看这个就够了

目录

Date简介

Date 是js的对象也是一个构造函数【作用就是用来构造对象的,new一个对象】,用法:定义一个时间对象var date new Date(); 这样date就是一个时间对象了 直接打印date的话 date返回的是当前web时间 且格式是月日年的形式,在不传递参数的情况下是默认返回“当前”时间;
var date = new Date();
console.log(date); // Wed Apr 14 2021 17:08:24 GMT+0800 (中国标准时间)
在传递一个字符串参数的情况下,表示字符串显示的时间 注意字符串传入时间的方式 至少有年月 ,格式 ‘2021.4.1 14:56:67’ 、‘2021-4-1 14:09’ ,‘2012-3’都OK。

Date构造时间对象

	1.参数是字符串
		就是上面说的'2021.4.1 14:56:67' 、‘2021-4-1 14:09’ ,‘2012-3’都OK。
		var date = new Date('2020-12-29'); // 会打印Tue Dec 29 2020 08:00:00 GMT+0800 (中国标准时间)  自动补全后面的时分秒。
	2.参数是number型
		在传递多个参数(number类型)的情况下:
		var 时间对象  = new Date(year,month[,day,hours,minutes,seconds]);// 但是要注意的就是输入的月份是从0开始的  所以0是一月  11是12月  这里的number型很智能,要是输错了 月份 13 14 等 会自动加到后面的一年 把年份进位。但是字符串就不会。
		var date = new Date(2020, 10, 1, 4);
		  console.log(date);

时间对象的常用方法

		// 定义一个时间对象
        var date = new Date();
        // 时间对象date有了   开始用方法 date.getFullYear 获取年份
        console.log(date.getFullYear()); /// 2021
        // 时间对象.getMonth 获取月份 从0开始到 11  0是 一月份 11是12月 
        console.log(date.getMonth()); // 明明是4月 会返回3  所以一般可以进行+1 操作
        console.log(date.getMonth() + 1); // 明明是4月 会返回3  所以一般可以进行+1 操作
        // 获取天 时间对象.getdate() 
        console.log(date.getDate()); // 14日
        // 获取星期几 时间对象.getDay()
        console.log(date.getDay()); // 星期天 是 0 也就是从0开始的星期 其他的都是正确的  就是星期天不一样而已 
        // 获取小时 时间对象.getHours()
        console.log(date.getHours());
        // 获取分钟  时间对象 .getMinutes()
        console.log(date.getMinutes());
        // 获取秒 时间对象.getSeconds()
        console.log(date.getSeconds());
        // 获取时间对象里面的毫秒 时间对象.getMilliseconds()
        console.log(date.getMilliseconds());

格林威治时间

在编程里面有这样一个时间 叫做格林威治时间 :1970/1/1 00:00:00 这个时间很特殊 通常用于计算一些时间差

getTime()

	// 用于返回格林威治时间到现在时间的毫秒数。
	console.log(date.getTime());   // 1618400641266
	// 但是 如果时间对象已经被输入时间了 那就 是输入的那个时间(前面讲的字符串型和number型时间)到格林威治时间之间的毫秒数 。
	var date2 = new Date('2019-12-29');
    console.log(date2.getTime()); // 返回2019-12-29到格林威治的时间之间的毫秒数 1577577600000

Date.now()

		//不建议使用因为:时间精度可能会因为浏览器不一样被降低,/也是用于返回现在时间到格林威治时间之间的毫秒数的 
		// 因为 now() 是 Date 的一个静态函数,所以必须以 Date.now() 的形式来使用。时间精度被降低
		// 为了提供针对定时攻击和指纹追踪的保护,Date.now() 的精度可能会根据浏览器的高级设置项目而被取整。。 
	    //Date.now() 括号里面不接参数
	    console.log(Date.now());  // 打印当前时间到格林威治时间之间的时间毫秒数 

那么要操作某个时间到格林威治时间之间的时间毫秒数岂不是 要在最前面就给赋值时间 那岂不是不太好 看下一个。

Date.parse()

Date.parse(表示时间的字符串): 可以获取到指定时间距离格林威治时间的毫秒数 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。[和 时间对象被赋值时间有点像 但是这个是直接用构造函数Date调用]

console.log(Date.parse('2021-12-29')); // 返回2021-12-29 到格林威治之间之间的时间毫秒数  接受一个表示时间的字符串

欢迎指正批评讨论,基操勿6

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值