JavaScript中如何获取当前日期

JavaScript中如何获取当前日期

技术背景

在JavaScript开发中,经常需要获取当前日期。可能用于显示当前日期、进行日期计算、记录操作时间等。JavaScript提供了多种方式来获取和处理日期,以满足不同场景的需求。

实现步骤

1. 使用new Date()生成日期对象

1
var today = new Date();

这将创建一个包含当前日期和时间的Date对象。

2. 自定义日期格式

可以手动提取年、月、日等信息,并按照需要的格式组合。

1
2
3
4
5
6
7
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
var yyyy = today.getFullYear();

today = mm + '/' + dd + '/' + yyyy;
console.log(today);

3. 使用toJSON()slice()获取特定格式

1
2
let today = new Date().toJSON().slice(0, 10);
console.log(today);

4. 使用toLocaleDateString()获取本地化日期

1
2
let today = new Date().toLocaleDateString();
console.log(today);

还可以传入locale参数,如toLocaleDateString("sr")

5. 使用第三方库moment.js

1
2
var m = moment().format("DD/MM/YYYY");
console.log(m);

需要引入moment.js库:

1
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>

核心代码

获取mm/dd/yyyy格式的日期

1
2
3
4
5
6
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0');
var yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
console.log(today);

获取YYYY-MM-DD格式的日期

1
2
let today = new Date().toISOString().slice(0, 10);
console.log(today);

使用moment.js获取指定格式日期

1
2
var m = moment().format("DD/MM/YYYY");
console.log(m);

最佳实践

  • 如果只需要简单的日期格式,优先使用JavaScript内置方法,如toISOString()toLocaleDateString()
  • 如果需要复杂的日期处理和格式化,推荐使用moment.js库,它提供了丰富的功能和方法。
  • 注意时区问题,在处理日期时要考虑时区的影响。

常见问题

1. 不同浏览器对日期格式的支持不一致

不同浏览器对日期格式的解析和显示可能存在差异。可以使用toLocaleDateString()方法并传入合适的locale参数来解决部分问题。

2. 时区问题

toISOString()方法返回的是UTC时间,如果需要本地时间,可以进行相应的转换,如:

1
2
var d = new Date();
new Date(d.getTime() - d.getTimezoneOffset() * 60000).toJSON().slice(0, 10);

3. 日期格式的兼容性

某些日期格式在不同浏览器中可能不被支持,如包含特定分隔符或符号的格式。可以使用moment.js库来确保在不同浏览器中的兼容性。


JavaScript中如何获取当前日期
https://119291.xyz/posts/2025-05-12.how-to-get-current-date-in-javascript/
作者
ww
发布于
2025年5月12日
许可协议