您的位置 首页 教程

JavaScript Date(日期)对象

JavaScript中的Date对象表示日期与时间。通过该对象,我们可以处理日期和时间相关的操作,如获取当前时间、设置指定日期时间、比较日期、转换时间格式等等。Date对象的方法和属性非常丰富,可以满足大部分的时间操作需求。同时,需要留意不同浏览器对Date对象的实现可能存在一定的差异。

JavaScript Date(日期)对象

什么是JavaScript Date对象

JavaScript Date对象是一种用于处理日期和时间的内置对象,可用于存储和处理日期、时间以及与它们相关的信息。

JavaScript Date对象具有各种方法和属性,可以帮助您从不同的方面查看和操作日期和时间。

创建JavaScript Date对象

要创建JavaScript Date对象,请使用new Date()构造函数,构造函数可接受参数来设置初始日期和时间。如果未提供参数,则将创建日期对象,表示当前日期和时间。

  
    // 创建表示当前日期和时间的Date对象
    const today = new Date();
    
    // 创建特定日期的Date对象
    const specificDate = new Date('December 17, 1995 03:24:00');
    
    // 创建与特定日期和时间相关的Date对象(年,月(从0开始),日,小时,分钟,秒,毫秒)
    const specificDateTime = new Date(1995, 11, 17, 03, 24, 0, 0);
  

JavaScript Date对象的方法

获取日期和时间

getDate()方法返回月份中的日期(1-31)

getDay()方法返回星期中的日期(0-6)

getMonth()方法返回0到11的整数,表示月份

getFullYear()方法返回完整的年份(yyyy)

getHours()方法返回小时(0-23)

getMinutes()方法返回分​​钟(0-59)

getSeconds()方法返回秒数(0-59)

getMilliseconds()方法返回毫秒数

getTime()方法返回自1970年1月1日以来的毫秒数

  
    const date = new Date('December 17, 1995 03:24:00');
    
    // 获取日期和时间
    const dayOfMonth = date.getDate(); // 返回17
    const dayOfWeek = date.getDay(); // 返回0(星期日)
    const month = date.getMonth(); // 返回11(12月)
    const year = date.getFullYear(); // 返回1995
    const hours = date.getHours(); // 返回3
    const minutes = date.getMinutes(); // 返回24
    const seconds = date.getSeconds(); // 返回0
    const milliseconds = date.getMilliseconds(); // 返回 0
    const time = date.getTime(); // 返回819170640000毫秒
  

设置日期和时间

setDate()方法设置月份中的日期(1-31)

setMonth()方法设置月份(0-11)

setFullYear()方法设置完整的年份(yyyy)

setHours() 方法设置小时 (0-23)

setMinutes()方法设置分钟(0-59)

setSeconds()方法设置秒数(0-59)

setMilliseconds()方法设置毫秒数

setTime()方法设置日期和时间为自1970年1月1日以来的毫秒数

  
    let date = new Date('December 17, 1995 03:24:00');
    
    // 设置日期和时间
    date.setDate(18);
    date.setMonth(11);
    date.setFullYear(1996);
    date.setHours(4);
    date.setMinutes(25);
    date.setSeconds(10);
    date.setMilliseconds(500);
    date.setTime(819170650500);
  

格式化日期和时间

使用toLocaleString()方法、toLocaleDateString()方法和toLocaleTimeString()方法可按本地时间格式返回日期和时间,这取决于访问浏览器用户的地理位置。

  
    const date = new Date('December 17, 1995 03:24:00');
    
    // 返回格式化的日期和时间
    const localeString = date.toLocaleString(); // 返回 "12/17/1995, 3:24:00 AM"
    const localeDateString = date.toLocaleDateString(); // 返回 "12/17/1995"
    const localeTimeString = date.toLocaleTimeString(); // 返回 "3:24:00 AM"
  

JavaScript Date对象的属性

prototype属性向对象添加属性和方法,以及非继承的属性和方法。

length属性返回对象的属性数量。

  
    const date = new Date('December 17, 1995 03:24:00');
    
    // 返回Date对象的属性数量
    const propCount = date.length; // 返回7
    
    // 向Date对象添加一个自定义方法
    Date.prototype.myCustomMethod = function() {
      return 'Hello world!';
    }
    
    const result = date.myCustomMethod(); // 返回'Hello world!'
  

如何使用Date对象

在JS中,Date对象非常有用,可以使用Date对象轻松操作日期和时间。例如,您可以创建日期过滤器来检查过去或未来的日期,比较两个日期以找出最新的日期,以及在 UTC(协调世界时)和不同的本地时区之间转换日期和时间。

  
    // 创建一个日期过滤器,仅显示今天之前的日期
    function showPastDates() {
      const today = new Date();
      
      // 获取节点列表中具有日期属性的所有元素
      const dates = document.querySelectorAll('[data-date]');
      
      dates.forEach(function(date) {
        // 将日期属性转换为Date对象
        const dateStr = date.getAttribute('data-date');
        const dateObj = new Date(dateStr);
        
        // 比较是否早于今天
        if(dateObj < today) {
          date.style.display = 'block';
        } else {
          date.style.display = 'none';
        }
      });
    }
    
    // 创建一个函数,比较两个日期并返回最新日期
    function getLatestDate(date1, date2) {
      if(date1 > date2) {
        return date1;
      } else {
        return date2;
      }
    }
    
    // 转换本地日期时间为UTC
    const localDate = new Date();
    const utcDate = new Date(localDate.toUTCString().slice(0,-4));
  

总结

关于作者: 品牌百科

热门文章