🖼️ Lyin's Room

Search

Search IconIcon to open search

Date object 时间对象

Last updated Unknown

# Date日期对象

Date是一个构造函数,因此需要用new来调用创建。若将它作为常规函数调用(即不加new操作符),将返回一个字符串,而非 Date 对象。

1
2
3
4
new Date();
new Date(value);
new Date(dateString); // new Date('2019-5-1')或new Date('2019/5/1')
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

如果不加参数则返回当前系统的当前时间。

1
2
3
4
5
6
7
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
var day = arr[date.getDay()]
console.log(`今天是${year}${month}${dates}日,${day}。`) 

# 要求封装一个返回当前时间的函数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
function getTimer() {
var h = time.getHours()
h = h < 10 ? '0' + h : h; // 如果h小于10,则在前面加一个占位的0
var m = time.getMinutes()
m = m < 10 ? '0' + m : m;
var s = time.getSeconds()
s = s < 10 ? '0' + s : s;
return h + ':' + m + ':' + s;
} 
console.log(getTimer());

# 获取日期的总的毫秒形式

Date对象是基于1970年1月1日(世界标准时间)起的毫秒数。经常利用总的毫秒数来计算时间,因为它更精确。是一种特殊的计量时间的方式,也称为时间戳。

  1. getTime()
1
2
let date = new Date()
console.log(date.getTime())
  1. 简写+new Date()
1
console.log(+new Date())
  1. Date.now()
    1. 无需实例化
    2. 但是只能获得当前的时间戳,而前面两种可以返回指定时间的时间戳

# Task

1
2
3
4
d = parseInt(总秒数 / 60 /60 /24) // 天数
h = parseInt(总秒数 / 60 /60 %24) // 小时
m = parseInt(总秒数 / 60 %60) 
s = parseInt(总秒数 %60) // 计算当前秒数
1
2
3
4
5
6
7
8
9
let now = +new Date();
let last = +new Date('2022-8-27 19:00:00')
let count = (last - now) / 1000 //剩余的秒数
// 转换为时分秒
let d = parseInt(count / 60 /60 /24) // 天数
let h = parseInt(count / 60 /60 %24) // 小时
let m = parseInt(count / 60 %60) 
let s = parseInt(count %60) // 计算当前秒数
console.log(d, h, m, s)