📜  js 日期转换成格式 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:24.208000             🧑  作者: Mango

JS 日期转换成格式 - Javascript

在开发中,我们经常需要根据不同的需求将日期格式进行转换。Javascript是一种非常强大的脚本语言,同时也提供了一些内置的日期对象,可以方便地进行日期转换。

日期对象

Javascript提供了Date对象,可以用来表示一个日期和时间。创建一个Date对象的方式分为两种:

  1. 使用new关键字
let date = new Date();
  1. 使用日期字符串(支持多种格式)
let date = new Date('2021-10-10');
日期格式

Date对象提供了一些方法来获取日期对象的各个部分,并且可以根据需求将日期格式化输出。

获取日期对象的各个部分
  • getFullYear() - 获取年份
  • getMonth() - 获取月份(0 - 11)
  • getDate() - 获取日期(1 - 31)
  • getDay() - 获取星期几(0 - 6,0表示星期日)
  • getHours() - 获取小时(0 - 23)
  • getMinutes() - 获取分钟(0 - 59)
  • getSeconds() - 获取秒数(0 - 59)
  • getMilliseconds() - 获取毫秒数(0 - 999)
let date = new Date('2021-10-10');
console.log(date.getFullYear()); // 2021
console.log(date.getMonth()); // 9(10月,实际月份-1)
console.log(date.getDate()); // 10
console.log(date.getDay()); // 0(星期日)
console.log(date.getHours()); // 0
console.log(date.getMinutes()); // 0
console.log(date.getSeconds()); // 0
console.log(date.getMilliseconds()); // 0
格式化日期对象输出

我们可以根据需求将日期格式化输出。以下为一些常用的日期格式:

| 格式 | 说明 | | ---- | ---- | | yyyy | 年份,四位数字 | | yy | 年份,两位数字 | | M | 月份,不加前导零 | | MM | 月份,两位数字 | | d | 日期,不加前导零 | | dd | 日期,两位数字 | | h | 小时,不加前导零(12小时制) | | hh | 小时,两位数字(12小时制) | | H | 小时,不加前导零(24小时制) | | HH | 小时,两位数字(24小时制) | | m | 分钟,不加前导零 | | mm | 分钟,两位数字 | | s | 秒数,不加前导零 | | ss | 秒数,两位数字 |

let date = new Date('2021-10-10');
console.log(date.toLocaleDateString()); // 2021/10/10
console.log(date.toLocaleTimeString()); // 00:00:00
console.log(date.toLocaleString()); // 2021/10/10 00:00:00
console.log(date.getFullYear() + '年' + (date.getMonth() + 1) + '月' + date.getDate() + '日'); // 2021年10月10日
console.log(date.getFullYear() + '-' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1)) + '-' + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate())); // 2021-10-10
console.log(date.getFullYear() + '年' + (date.getMonth() + 1).toString().padStart(2, '0') + '月' + date.getDate().toString().padStart(2, '0') + '日'); // 2021年10月10日
console.log(date.getHours() + ':' + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())); // 00:00
console.log(date.getHours() % 12 + ':' + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ' ' + (date.getHours() >= 12 ? 'PM' : 'AM')); // 12:00 AM
console.log(date.getHours().toString().padStart(2, '0') + ':' + date.getMinutes().toString().padStart(2, '0') + ' ' + (date.getHours() >= 12 ? 'PM' : 'AM')); // 12:00 AM
总结

Javascript提供的Date对象可以方便地进行日期转换和格式化输出。我们可以根据需求选择不同的方法来获取日期对象的各个部分,同时也可以将日期对象进行格式化输出。