前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS前端Date(日期)

JS前端Date(日期)

原创
作者头像
IT工作者
发布2022-05-13 09:41:48
10.1K0
发布2022-05-13 09:41:48
举报
文章被收录于专栏:程序技术知识

1. 介绍

Date日期对象是一个构造函数,主要用来获取时间和对时间进行一系列操作。Date 类型将日期保存为自协调世界时(UTC,Universal Time Coordinated)时间 1970 年 1 月 1 日午夜(零时)至今所经过的毫秒数。

2. 基础用法

上面提到Date 是一个构造函数,所以创建日期对象,需要 new Date():

获取系统当前时间(不含参数):

代码语言:javascript
复制

let date = new Date();
console.log(date); // Sun Feb 27 2022 10:00:56 GMT+0800 (中国标准时间)

获取指定参数的时间:

参数常用的有两种类型

数字型:

代码语言:javascript
复制
// new Date(年, 月, 日, 时, 分, 秒);
let date = new Date(2022, 2, 27, 10, 12, 22);
console.log(date); // Sun Mar 27 2022 10:12:22 GMT+0800 (中国标准时间)

字符串类型:

代码语言:javascript
复制
let date = new Date('2022-2-27 10:14:55');
console.log(date); // Sun Feb 27 2022 10:14:55 GMT+0800 (中国标准时间)

相信一些细心的同学已经发现了一些问题,那就是两种类型的月份不同,这个各位继续往下看就会得到答案了。

3. 日期格式化

从上面我们可以看出,上面的日期格式对我们来说并不友好,我们当然想看到的是2022-2-27 10:30:30 这种格式,那怎样才能得到这种格式呢?日期对象里有一些内置函数可以解决这个问题。

下面小菜重点讲解一些比较重要且常用的方法:

- getFullYear(): 返回 4 位数年(即 2022)

- getMonth(): 返回日期的月(0 表示 1 月,11 表示 12 月)

- getDate(): 返回日期中的日(1~31)

- getHours(): 返回日期中的小时(0~23)

- getMinutes(): 返回日期中的分钟(0~59)

- getSeconds(): 返回日期中的秒(0~59)

- getDay(): 返回日期中表示周几的数值(0 表示周日,6 表示周六)

- toLocaleDateString(): 获取当前日期 (例: 2022/2/27)

- toLocaleTimeString(): 获取当前时间 (例:上午10:14:55)

- toLocaleString(): 获取日期与时间 (例: 2022/2/27 上午10:14:55)

相信各位已经得到答案了,因为getMonth()这个方法返回月份会比真实的月份小1,上面new Date(2022, 2, 27, 10, 12, 22);我们月份传入的是2,2 就对应着 3月,所以得到了错误的月份Sun Mar 27 2022 10:12:22 GMT+0800 (中国标准时间)。

代码语言:javascript
复制
// 简单使用
let date = new Date();
// 获取年份
date.getFullYear(); // 2022

//获取月份
date.getMonth() + 1; // 2 因为返回的比真实月份小1,所以+1才能得到真实月份

// 获取日
date.getDate(); // 27

// 获取小时
date.getHours(); // 10

// 获取分钟
date.getMinutes(); // 43

// 获取秒
date.getSeconds(); // 50

// 获取星期几 
// 因为getDay()返回日期中表示周几的数值(0 表示周日,6 表示周六), 我们可以做一些处理
let week = date.getDay();
let weekday = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
weekday[week]; // 得到正确的结果, ‘星期日’

// 获取当前日期
date.toLocaleDateString(); // 2022/2/27

// 获取当前时间
date.toLocaleTimeString(); // 上午10:47:55

// 获取当前日期与时间 
date.toLocaleString(); // (例: 2022/2/27 上午10:47:55)

4. 获取毫秒值(时间戳)

获取时间戳的方法有很多,小菜挑出这四个常用的简单介绍一下:

valueOf()

getTime()

+new Date()

Date.now() H5新增

这些返回的结果都是一样的:

代码语言:javascript
复制
let date = new Date();
date.valueOf(); // 1645930442365
date.getTime(); // 1645930442365
console.log(+new Date()); // 1645930442365
console.log(Date.now());  // 1645930442365

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档