返回

用 JavaScript 揭秘 Date 对象的超凡操作

前端

JavaScript 中巧用 Date 对象处理日期时间的 5 个妙招

获取两个日期时间之间的总天数

计算两个日期时间之间的天数非常简单。使用第三方库 Moment.js,只需几行代码即可完成:

const moment = require('moment');

const date1 = new Date('2022-03-08');
const date2 = new Date('2022-03-15');

const days = moment(date2).diff(moment(date1), 'days');

console.log(days); // 输出: 7

比较两个日期时间

使用 Date 对象的比较运算符,可以轻松比较两个日期时间:

const date1 = new Date('2022-03-08');
const date2 = new Date('2022-03-15');

console.log(date1 < date2); // 输出: true
console.log(date1 > date2); // 输出: false

格式化日期时间

利用 Date 对象的 toLocaleDateString() 和 toLocaleTimeString() 方法,可以轻松格式化日期时间:

const date = new Date('2022-03-08');

console.log(date.toLocaleDateString()); // 输出: "3/8/2022"
console.log(date.toLocaleTimeString()); // 输出: "9:00:00 AM"

解析日期时间

使用 Date 对象的 parse() 方法,可以将字符串解析为日期时间:

const dateString = '2022-03-08';

const date = Date.parse(dateString);

console.log(date); // 输出: 1646716800000

操作日期时间

Date 对象的 set 方法允许你轻松操作日期时间:

const date = new Date('2022-03-08');

date.setFullYear(2023);
date.setMonth(5);
date.setDate(1);

console.log(date); // 输出: "6/1/2023"

结论

Date 对象为 JavaScript 开发人员提供了强大且易用的工具,用于处理日期和时间。掌握这些妙招,将极大地提升你的日期时间操作技巧。

常见问题解答

  • 如何获取当前日期和时间?

    const now = new Date();
    console.log(now);
    
  • 如何将日期时间转换成字符串?

    const date = new Date('2022-03-08');
    const dateString = date.toString();
    console.log(dateString);
    
  • 如何获取月份名称?

    const date = new Date('2022-03-08');
    const monthName = date.toLocaleString('default', { month: 'long' });
    console.log(monthName); // 输出: "March"
    
  • 如何设置时间戳?

    const date = new Date();
    date.setTime(1646716800000);
    console.log(date); // 输出: "2022-03-08T00:00:00.000Z"
    
  • 如何获取时间的毫秒数?

    const date = new Date();
    const milliseconds = date.getMilliseconds();
    console.log(milliseconds);