带你简单了解Date

233 阅读3分钟

简介

在写代码的时候,经常会用到Date,好记性不如烂笔头,用到的时候就来看一下这篇博客 + MDN,相信可以解决95%的问题

例如

将中国标准时间转化为年月日时分秒(yyyy-mm-dd)格式

var chinaStandard= 'Thu May 12 2020 08:00:00 GMT+0800' (后台返回的标准时间)
     var date = new Date(chinaStandard);
     var y = date.getFullYear();
     var m = date.getMonth() + 1;
     m = m < 10 ? ('0' + m) : m;
     var d = date.getDate();
	  d = d < 10 ? ('0' + d) : d;
     var h = date.getHours();
     var minute = date.getMinutes();
     minute = minute < 10 ? ('0' + minute) : minute;
     let time = y + '-' + m + '-' + d+' '+h+':'+minute;  //这里如果不需要小时 分  后边的可以不需要拼接

创建日期

Date函数是用来处理日期和时间的,其时间是和GMT时间1970年1月1日进行比较的。

  1. 不带参数new Date()

如果创建没有任何参数的日期,则会将日期设置为当前时间(以本地时间为单位)。

  1. 使用日期字符串参数
  • YYYY:4位数年份
  • MM:两位数月份(即 1月为01,12月为12)
  • DD:两位数的日期(0到31)
  • -:日期分隔符
  • T:表示开始时间
  • HH:24位小时数(0到23)
  • mm:分钟(0到59)
  • ss:秒(0到59)
  • sss:毫秒(0到999)
  • ::时间分隔符
  • Z:如果存在 Z,则日期将设置为UTC,如果 Z不存在,则为本地时间。
var today = new Date();
var birthday = new Date('December 17, 1995 03:24:00');
var birthday = new Date('1995-12-17T03:24:00');
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);

Date.now()  方法返回自 1970 年 1 月 1 日 00:00:00 (UTC) 到当前时间的毫秒数

格式化

toString:格式化成 "Wed Jan 23 2019 17:23:42 GMT+0800 (中国标准时间)"

toDateString: 格式化成 "Wed Jan 23 2019"

toLocaleString:格式化成 "2019/1/23 下午5:23:42"

toLocaleDateString:格式化成 "2019/1/23"

toGMTString:格式化成 "Wed, 23 Jan 2019 09:23:42 GMT"

toUTCString:格式化成 "Wed, 23 Jan 2019 09:23:42 GMT"

toISOString :格式化成 "2019-01-23T09:23:42.000Z"

Get常用方法

getFullYear:获取当地时间4位数的年份

getMonth:获取当时时间的月份,注意从 0 开始****

getDate:获取当地时间月中的某一天(1-31)

getDay:获取当地时间的星期几(0-6),星期日(0)开始,到星期六(6)结束。 getHours:获取当地时间获取小时数(0-23)。

getMinutes:获取本地时间获取分钟(0-59)。

getSeconds:获取本地时间获取秒数(0-59)。

getMilliseconds:获取本地时间获取毫秒(0-999)。

Set常用方法

  1. setFullYear: 设置年份
  2. setMonth:设置月份
  3. setDate:设置每月的某一天
  4. setHours:设置时
  5. setNubytes:设置分
  6. setSeconds:设置秒
  7. setMilliseconds:设置毫秒