Js的时间日期对象Date()使用

Date对象在JavaScript中用于处理日期和时间,包括获取时间戳、年份、月份等信息。常用API如getTime(),getFullYear(),getMonth()等,同时可以使用set方法进行设置。文章还介绍了日期格式化和获取当前月总天数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍:

Date 对象用于处理日期与时间。可以通过 new 关键词来定义 Date 对象,也可以通过使用针对日期对象的方法操作日期。

时间戳:时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总毫秒数。

api使用

1.getTime() 获取时间戳

console.log(new Date().getTime()) // 1600075903652

2.getYear() 获取年份

console.log(new Date().getYear()) // 120
getYear是20世纪发布的方法,获取年份后两位,但是这个方法到21世纪以后明显不实用了,所以现在不用它来获取年份,而是使用getFullYear获取完整的四位的年份。

3.getFullYear() 获取四位年份 

console.log(new Date().getFullYear()) // 2023

 4.getMonth() 获取月份

console.log(new Date().getMonth()) // 1

getMonth()获取月份是0-11,因此2月份获取到的是1,具体使用时应当返回值+1

 5.getDate()  获取日

console.log(new Date().getDate()) // 27

6.getDay() 获取星期号

console.log(new Date().getDay()) // 1

 7.getHours() 获取小时

console.log(new Date().getHours()) // 16

8.getMinutes() 分

console.log(new Date().getMinutes()) // 8

9.getSeconds() 秒

 console.log(new Date().getSeconds()) // 38

10.getMilliseconds() 毫秒

  console.log(new Date().getMilliseconds()) // 837

扩展Api

上面get系列的API除了Day以外其他的都可以set:

setTimesetFullYearsetMonthsetDatesetHourssetMinutessetSecondssetMilliseconds

  1. 星期几是不能设置的,星期几是根据日期来自动计算的而不能设置。
  2. 使用set系列API的时候传入的参数可以超出正常范围,此时js会自动前后推算,比如:date.setMonth(12)会自动推算到下一年的一月,date.setDate(0)会自动推算到上个月的最后一天等。
  3. 调用set方法的时候可以传入多个参数设置同级别更精细的时间,比如:
    • date.setFullYear(2023,2,2)指的是设置为2000年3月2日
    • date.setMonth(2,2)指的是设置为3月2日
    • date.setHours(2,2,2)指的是设置为凌晨2点零2分2秒

具体运用

 1.设置日期为明天

var date = new Date()

date.setDate(date.getDate() + 1)

2.获取这个月总天数

var date = new Date()

date.setMonth(date.getMonth()+1, 0) // 设置为下个月0号也就是这个月最后一天

var allDays = date.getDate() // 最后一天是几号这个月就有几天 console.log(allDays) 

3.日期转换

var date = new Date()

console.log(date.toString()) // Mon Feb 27 2023 16:15:19 GMT+0800 (中国标准时间) console.log(date.toDateString()) // Mon Feb 27 2023

console.log(date.toTimeString()) // 16:15:19 GMT+0800 (中国标准时间) console.log(date.toLocaleString()) // 2023/2/27 16:16:01 console.log(date.toLocaleDateString()) // 2023/2/27

console.log(date.toLocaleTimeString()) // 16:16:42

4.YY-MM-DD 格式

function setTime () {
    let date = new Date();
    let year = date.getFullYear(); // 年
    let month = date.getMonth() + 1; // 月
    let day = date.getDate(); // 日

    let hour = date.getHours(); // 时
    hour = hour < 10 ? '0' + hour : hour; // 如果只有一位,则前面补零
    let minute = date.getMinutes(); // 分
    minute = minute < 10 ? '0' + minute : minute; // 如果只有一位,则前面补零
    let second = date.getSeconds(); // 秒
    second = second < 10 ? '0' + second : second; // 如果只有一位,则前面补零
    return `${year}-${month}-${day} ${hour}:${minute}:${second}`
}

 // '2023-2-27 16:22:12'

5.动态时间

function setTime () {
    let date = new Date();
    let year = date.getFullYear(); // 年
    let month = date.getMonth() + 1; // 月
    let day = date.getDate(); // 日

    let hour = date.getHours(); // 时
    hour = hour < 10 ? '0' + hour : hour; // 如果只有一位,则前面补零
    let minute = date.getMinutes(); // 分
    minute = minute < 10 ? '0' + minute : minute; // 如果只有一位,则前面补零
    let second = date.getSeconds(); // 秒
    second = second < 10 ? '0' + second : second; // 如果只有一位,则前面补零
    setTimeout(setTime,1000)
    console.log(`${year}-${month}-${day} ${hour}:${minute}:${second}`)
    return `${year}-${month}-${day} ${hour}:${minute}:${second}`
}
let time = setTime()

...... 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值