初始化当前时间:

// 1. 使用构造函数方式
var newDate = new Date() // 2. 使用函数方式
var date = Date() // 返回的是一个Date对象
console.log(newDate)
// 返回的是表示当前时间的字符串
console.log(date);

初始化指定时间:

通过Date对象初始化时间为指定的年月日可以将年、月、日、小时、分和秒等信息作为参数传递给 Date

var date1 = new Date(2021, 0)
var date2 = new Date(2021, 0, 1)
var date3 = new Date(2021, 0, 1, 0)
var date4 = new Date(2021, 0, 1, 0, 0, 0, 0) console.log(date1) // Fri Jan 01 2021 00:00:00 GMT+0800
console.log(date2) // Fri Jan 01 2021 00:00:00 GMT+0800
console.log(date3) // Fri Jan 01 2021 00:00:00 GMT+0800
console.log(date4) // Fri Jan 01 2021 00:00:00 GMT+0800

初始化使用时间戳(毫秒级)

var date = new Date(0)

console.log(date) // Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)

注: 一般用于时间戳到时间对象的转化,近而得到格式化后的时间

更多使用方式:

1.获取当前时间戳

console.log(Date.now()) // 1629085050614

2.解析时间字符串为时间戳

var date = Date()

console.log(Date.parse(date)) // 1629085764000

3.获取UTC时间戳

console.log(Date.UTC(2021, 8, 16, 11, 58, 50)) // 1631793530000

Date对象方法:

获取时间

var date = new Date()
// 获取日期
console.log(date.getDate()) // 16
// 获取今天周几
console.log(date.getDay()) // 1
// 获取哪年
console.log(date.getFullYear()) // 2021
// 获取时间戳
console.log(date.getTime()) // 1629093204493

设置时间

var date = new Date()
console.log('当前时间: ' + date) // 当前时间: Mon Aug 16 2021 13:56:58 GMT+0800 (中国标准时间) date.setDate(24)
console.log('修改后的时间: ' + date) // 修改后的时间: Tue Aug 24 2021 13:56:58 GMT+0800 (中国标准时间)

日期格式化:

var date = new Date().toString()
console.log('toString()方法得到的时间为:' + date + ',类型为: ' + typeof date) // toString()方法得到的时间为:Mon Aug 16 2021 14:06:11 GMT+0800 (中国标准时间),类型为: string

完整方法:

Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳)
JavaScript_Date函数按照字母分类
Date() 函数 -- Date对象的构造函数
getDate() 函数 -- 返回date对象中的月份中的天数(1-31)
getDay()函数 -- 返回date对象中的星期中的天数(0-6)
getFullYear() 函数 -- 返回date对象中的四位数年份
getHours()函数 -- 返回date对象中的小时数(0-23)
getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999)
getMinutes() 函数 -- 返回date对象中的分钟数(0-59)
getMonth() 函数 -- 返回date对象中的月份数(0-11)
getSeconds() 函数 -- 返回date对象中的秒数(0-59)
getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示)
getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位
getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31)
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6)
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23)
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999)
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59)
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11)
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59)
getYear() 函数 -- 返回date对象的年份(真实年份减去1900)
Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳)
setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setYear() 函数 -- 设置date对象的年份(真实年份减去1900)
toDateString() 函数 -- 返回date对象的日期部分的字符串表示
toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示
toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串
toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串
toTimeString()函数 -- 返回date对象的时间部分的字符串
toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示
Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳) Date() 函数 -- Date对象的构造函数
getDate() 函数 -- 返回date对象中的月份中的天数(1-31)
getDay()函数 -- 返回date对象中的星期中的天数(0-6)
getFullYear() 函数 -- 返回date对象中的四位数年份
getHours()函数 -- 返回date对象中的小时数(0-23)
getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999)
getMinutes() 函数 -- 返回date对象中的分钟数(0-59)
getMonth() 函数 -- 返回date对象中的月份数(0-11)
getSeconds() 函数 -- 返回date对象中的秒数(0-59)
getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示)
getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位
getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31)
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6)
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23)
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999)
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59)
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11)
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59)
getYear() 函数 -- 返回date对象的年份(真实年份减去1900)
Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳) setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳)
setYear() 函数 -- 设置date对象的年份(真实年份减去1900) toDateString() 函数 -- 返回date对象的日期部分的字符串表示
toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示
toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串
toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串
toTimeString()函数 -- 返回date对象的时间部分的字符串
toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示

常用方法:

1)格式化时间

function formatDate(currentDate) {
// 获取年、月、日、小时、分钟和秒
const year = currentDate.getFullYear()
const month = (currentDate.getMonth() + 1).toString().padStart(2, '0') // 月份从0开始,所以要加1,并补零
const day = currentDate.getDate().toString().padStart(2, '0') // 补零
const hours = currentDate.getHours().toString().padStart(2, '0') // 补零
const minutes = currentDate.getMinutes().toString().padStart(2, '0') // 补零
const seconds = currentDate.getSeconds().toString().padStart(2, '0') // 补零
// 拼接日期和时间字符串
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}

2)今日,近10分钟,近1小时...

let dt11 = new Date(new Date().setHours(0, 0, 0, 0)+1000*3600*24-1)
console.log('今日结束点:', dt11, formatDate(dt11)) let dt3 = new Date();
// 一次性指定时分秒
dt3.setHours(0, 0, 0)
console.log('今日零点2:', dt3, formatDate(dt3)) // 昨日时间
let dt4 = new Date(dt3.getTime() - 3600 * 1000 * 24) // 毫秒级的时间戳
console.log('昨日零点:', dt4, formatDate(dt4)) // 10分钟前
let dt5 = new Date();
dt5.setMinutes(dt5.getMinutes() - 10)
console.log('十分钟前时间:', dt5, formatDate(dt5)) // 1小时前,取整
let dt6 = new Date();
dt6.setHours(dt6.getHours() - 1)
dt6.setMinutes(0)
dt6.setSeconds(0)
console.log('一个小时前时间(整点):', dt6, formatDate(dt6))

更好用的第三方库: dayjs

官网:https://day.js.org/zh-CN/

使用

  • 安装

npm install dayjs --save
import dayjs from 'dayjs'
  • 解析

  1. 不带参数调用dayjs() 将返回一个新的Day.js对象,其中包含当前日期和时间。所有的dayjs对象都是不可变的
dayjs()  //返回当前时间
  1. 字符串 以ISO 8601格式解析给定字符串并返回day.js对象实例。
dayjs('2018-04-04')
  1. Unix时间戳(毫秒) 通过一个毫秒数的整数值来创建Day.js 注:时间戳必须为数字格式
dayjs(1650767260745)
  1. 克隆
const a = dayjs()
const b = a.clone() //利用clone()进行克隆
const c = dayjs(a) //利用dayjs对象上调用dayjs()进行克隆
  1. 验证 判断一个dayjs对象是否包含有效日期
dayjs().isValid()  //true or false
  • 取值/赋值

  1. 毫秒
dayjs().millisecond()  //当前毫秒
dayjs().millisecond(1) //设置毫秒为1时dayjs对象
dayjs().second()  //当前秒
dayjs().second(1) //设置秒为1时dayjs对象
  1. 分钟
dayjs().minute()  //当前分钟
dayjs().minute(1) //设置分钟为1时dayjs对象
  1. 小时
dayjs().hour()  //当前小时
dayjs().hour(1) //设置小时为1时dayjs对象
dayjs().date()  //当前几号
dayjs().date(1) //设置当前月份天数为1时dayjs对象
  1. 星期 (取值为0-6,0周天,6周六 )
dayjs().day()  //当前周几
dayjs().day(1) //设置本周一时dayjs对象
  1. 月 (取值为0-11, 0一月,11十二月)
dayjs().month()  //当前月份
dayjs().month(1) //设置当前年的2月时dayjs对象
dayjs().year()  //当前年份
dayjs().year(2020) //设置年份2020年当前时间时dayjs对象
  • 操作

  1. 增加
dayjs().add(7,'day')  //在当前基础上往后推7天
  1. 减少
dayjs().subtract(1,'year')  //在当前基础上往前减少一年
  1. 开始/结束时间
dayjs().startOf('month')  //本月第一天初始时间 Sun Apr 24 2022 00:00:00 GMT+0800 (China Standard Time)
dayjs().endOf('month') //本月最后一天结束时间 Sat Apr 30 2022 23:59:59 GMT+0800 (China Standard Time)
  • 显示

  1. 格式化
dayjs().format() //'2022-04-24T11:43:05+08:00'
dayjs().format('YYYY--MM DD') //'2022--04 24'
dayjs().format('[自定义内容] +YYYY-MM-DD HH:mm:ss') //'自定义内容 +2022-04-24 11:45:41'
  1. Unix时间戳
dayjs().valueOf()  //毫秒时间戳
dayjs().Unix() //秒时间戳
  1. 获取当月天数
 
dayjs().daysInMonth() //30
  1. 转Date(原生Date对象)
dayjs().toDate()  //Sun Apr 24 2022 11:49:03 GMT+0800 (China Standard Time)
  1. 转JSON
dayjs().toJSON()  //'2022-04-24T03:49:29.718Z'
  1. 转字符串
dayjs().toString()  //'Sun, 24 Apr 2022 03:49:58 GMT'
  1. 转ISO 8601字符串
dayjs().toISOString()  //'2022-04-24T03:51:24.088Z'
 

JS之Date时间处理的更多相关文章

  1. js Date 时间格式化的扩展

    js Date 时间格式化的扩展: Date.prototype.format = function (fmt) { var o = { , //月 "d+": this.getD ...

  2. js处理数据库时间格式/Date(1332919782070)/

    js处理数据库时间格式 数据库返回时间格式:/Date(1332919782070)/ 方法: function ChangeDateFormat(val) { if (val != null) { ...

  3. 小程序 js中获取时间new date()的用法(网络复制过来自用)

    js中获取时间new date()的用法   获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获 ...

  4. Js中获取时间 new date()的用法

    Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...

  5. Js获取当前日期时间及其它操作

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  6. js获取当前时间显示在页面上

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. JavaScript基础17——js的Date对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. js生成当前时间

    js生成当前时间 var today=new Date(); function itArray(){ this.length=itArray.arguments.length for(var i=0; ...

  9. js获取当前时间&js 页面时钟

    js获取当前时间 //获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = ...

  10. JS获取当前日期时间及JS日期格式化

    Js获取当前日期时间: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份( ...

随机推荐

  1. MS SQL的ROUND函数用来数值的四舍五入

    MS SQL的ROUND函数用来数值的四舍五入 MS SQL要进行数值的四舍五入,有一好用的函数ROUND. 语法 ROUND ( numeric_expression , length [ ,fun ...

  2. 微信js-sdk接入原理

    1.有一个微信公众号,并获取到该公众号的AppID和AppSecret. 其中AppID是可以对外公开的,AppSecret是该公众号的密钥,是需要绝对保密的 2.向微信服务器发送一个GET请求,获取 ...

  3. DLA:动态层级注意力架构,实现特征图的持续动态刷新与交互 | IJCAI'24

    论文深入探讨了层级注意力与一般注意力机制之间的区别,并指出现有的层级注意力方法是在静态特征图上实现层间交互的.这些静态层级注意力方法限制了层间上下文特征提取的能力.为了恢复注意力机制的动态上下文表示能 ...

  4. 最好的文件管理器-dolphin

    WARN:windows没有,废话少说,直接开始 what's dolphin 长得好看 dolphin使用kde的主题管理,可以通过kde的主题商店配合kvantum manager 配制出一个好看 ...

  5. 致敬传奇 Kruskal 重构树题硬控我三小时

    NOI2018 归程 存边的数组拿来干两件事,忘了清空了,其实最好开两个的 dfs 没开 vis 导致不知道为什么出现的绕圈 倍增的 fa[i][j] 定义的时候前面是 \(2^{i}\) 写着写着记 ...

  6. Adobe Pr 软件报错,此效果需要GPU加速

    事件起因: 某同事使用PR软件报错,报错截图如下:   解决办法: 1.在pr菜单栏选择文件-项目设置-常规-视频渲染和回放-渲染程序,切换到Mercury Playback Engine GPU加速 ...

  7. Centos LNMP 安装日记

    环境介绍 [root@k8s-master ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) mysql8.0.12_b ...

  8. 大语言模型(LLM)

    大语言模型 LLM 人工智能 Artificial Intelligence 一门研究如何使计算机能够模拟和执行人类智能任务的科学和技术领域 是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术 ...

  9. 如何在kubernetes环境中共享GPU

    随着人工智能和大模型的快速发展,云上GPU资源共享变得必要,因为它可以降低硬件成本,提升资源利用效率,并满足模型训练和推理对大规模并行计算的需求. 在kubernetes内置的资源调度功能中,GPU调 ...

  10. KubeSphere 社区双周报 | Fluent Operator 2.6.0 发布 | 2023.11.10-11.23

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...