关键词

通过实例解析javascript Date对象属性及方法

下面是详细的攻略步骤:

一、JavaScript Date对象简介

Date对象是Javascript的一个核心对象,它用于处理日期和时间值。通过使用Date对象,我们可以获取和设置当前的时间,计算两个时间之间的差值,并将时间转换为可读的格式。

创建Date对象的方式很多,可以使用日期字符串、时间戳等方式。例如:

var now = new Date();              // 不传参数则获取当前日期时间
var dateStr = '2021-03-10 12:00:00';
var date = new Date(dateStr);      // 使用日期字符串创建Date对象
var time = new Date(1615363200000); // 使用时间戳创建Date对象

二、Date对象属性

Date对象有很多属性用于获取和设置日期和时间信息,下面是一些常用的属性:

  • getFullYear(): 获取年份(四位数),例如:2021
  • getMonth(): 获取月份(0-11),例如:2代表3月份
  • getDate(): 获取日期(1-31),例如:10
  • getDay(): 获取星期几(0-6),例如:3代表星期三
  • getHours(): 获取小时数(0-23),例如:12
  • getMinutes(): 获取分钟数(0-59),例如:0
  • getSeconds(): 获取秒数(0-59),例如:0
  • getTime(): 获取时间戳(1970年1月1日至今的毫秒数),例如:1615363200000

下面是一个例子,演示如何使用这些属性获取时间信息:

var now = new Date();
console.log(now.getFullYear());    // 2021
console.log(now.getMonth() + 1);   // 3 (注意:月份从0开始计数需要+1)
console.log(now.getDate());        // 10
console.log(now.getDay());         // 3 (0代表星期日,1代表星期一...6代表星期六)
console.log(now.getHours());       // 12
console.log(now.getMinutes());     // 0
console.log(now.getSeconds());     // 0
console.log(now.getTime());        // 1615363200000

三、Date对象方法

Date对象中,除了属性还有很多方法,下面是一些常用的方法:

  • toString(): 将日期时间转换为字符串形式,例如:"Wed Mar 10 2021 12:00:00 GMT+0800 (China Standard Time)"
  • toLocaleString(): 将日期时间转换为本地日期时间字符串,例如:"2021/03/10 上午12:00:00"
  • toISOString(): 将日期时间转换为ISO格式的字符串,例如:"2021-03-09T04:00:00.000Z"
  • toDateString(): 将日期部分转换为字符串,例如:"Wed Mar 10 2021"
  • toTimeString(): 将时间部分转换为字符串,例如:"12:00:00 GMT+0800 (China Standard Time)"
  • toLocaleDateString(): 将日期部分转换为本地日期字符串,例如:"2021/03/10"
  • toLocaleTimeString(): 将时间部分转换为本地时间字符串,例如:"上午12:00:00"
  • valueOf(): 获取时间戳,等同于getTime()方法

下面是一个例子,演示如何使用这些方法获取不同格式的时间:

var now = new Date();
console.log(now.toString());            // "Wed Mar 10 2021 12:00:00 GMT+0800 (China Standard Time)"
console.log(now.toLocaleString());      // "2021/03/10 上午12:00:00"
console.log(now.toISOString());         // "2021-03-09T04:00:00.000Z"
console.log(now.toDateString());        // "Wed Mar 10 2021"
console.log(now.toTimeString());        // "12:00:00 GMT+0800 (China Standard Time)"
console.log(now.toLocaleDateString());  // "2021/03/10"
console.log(now.toLocaleTimeString());  // "上午12:00:00"
console.log(now.valueOf());             // 1615363200000

四、示例演示

示例一:计算两个时间之间的时间差

var start = new Date('2021-03-10 12:00:00');
var end = new Date('2021-03-11 09:30:00');
var diff = end - start;  // 时间差(单位为毫秒)

// 转换为可读的时间格式
var days = Math.floor(diff / (24 * 3600 * 1000));
var hours = Math.floor(diff / (3600 * 1000)) - days * 24;
var minutes = Math.floor(diff / (60 * 1000)) - days * 24 * 60 - hours * 60;

console.log('相差' + days + '天' + hours + '小时' + minutes + '分钟');

示例二:判断一个日期是否为周末

function isWeekend(dateStr) {
  var date = new Date(dateStr);
  var day = date.getDay();
  return day === 0 || day === 6; // 0代表星期日,6代表星期六
}

console.log(isWeekend('2021-03-13'));  // true
console.log(isWeekend('2021-03-15'));  // false

以上就是通过实例演示Date对象的属性和方法的攻略,希望能够对您有帮助。

本文链接:http://task.lmcjl.com/news/9871.html

展开阅读全文