JS中的Date对象怎么用?如何格式化日期?

风之吻 网站开发 93

  在JavaScript中,Date对象是处理日期和时间的核心工具。很多人用的时候总觉得有点绕,其实只要掌握了基本用法和格式化方式,日常开发就完全够用了。

JS中的Date对象怎么用?如何格式化日期?-第1张图片-风享汇

  创建Date对象

  创建一个Date实例是最基础的操作。你可以不带参数调用,表示当前时间;也可以传入特定的时间字符串或时间戳。

  new Date():获取当前系统时间

  new Date('2024-01-01'):根据字符串创建日期

  new Date(2024, 0, 1):传入年、月(从0开始)、日等参数

  new Date(1704067200000):通过时间戳创建

  注意月份是从0开始的,也就是说0代表1月,11才是12月。

  获取日期信息

  有了Date对象后,通常会用下面这些方法来获取具体的时间部分:

  .getFullYear():返回四位数的年份

  .getMonth():返回月份,记得要加1才是真实月份

  .getDate():返回几号

  .getHours()、.getMinutes()、.getSeconds():分别获取时、分、秒

  比如你想拿到今天的年月日,可以这样写:

const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const day = now.getDate();

  格式化日期的基本方法

  所谓“格式化”,就是把日期变成像2024-01-01或者2024年1月1日 12:00这样的字符串。原生的Date对象没有直接提供格式化方法,但可以通过组合上面提到的方法来实现。

  例如,格式化为YYYY-MM-DD的形式:

function formatDate(date) {
  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  return `${year}-${month}-${day}`;
}

  这里有个小细节:.padStart(2, '0')是为了保证月份和日期始终是两位数,比如1月显示成01而不是1。

  常见问题与注意事项

  有些地方容易踩坑,列几个常见的:

  • 时间字符串解析存在兼容性问题,不同浏览器可能对new Date('2024-01-01')的解析结果有差异

  • 如果只想要日期部分,忽略时间,可以在构造后设置时间为0点

  • 想要更灵活的格式化,比如星期几、中文格式,就需要自己封装函数或引入第三方库(如date-fns、moment.js)

  如果你只是做简单的展示,手动拼接就能搞定;如果涉及复杂操作、国际化、相对时间等场景,建议使用成熟的时间处理库。

  基本上就这些,不复杂但容易忽略细节。

标签: JS

上一篇js如何实现文字选中高亮,文本高亮的5种实现技巧!

下一篇当前分类已是最新一篇

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~