今天跟大家唠唠我用 JavaScript 获取当前月份的小实践,这玩意儿说难不难,说简单也不简单,主要是得理清楚思路。
事情是这样的,最近在做一个小项目,需要在页面上显示当前的月份,一开始觉得这还不简单?直接 `new Date()` 就完事儿,结果一上手,发现坑还不少。
我直接用 `new Date()` 拿到当前时间,想着这下总行?结果打印出来一长串,还得自己去截取。
javascript
let now = new Date();
*(now); // 类似:Wed Oct 26 2023 15:30:00 GMT+0800 (中国标准时间)
然后我就想,肯定有方法可以直接获取月份的,一查,果然有!`getMonth()` 这玩意儿就是专门用来获取月份的。
javascript
let month = *();
*(month); // 输出:9 (注意,这里是 9,代表 10 月)
但是!这里有个坑,`getMonth()` 返回的是从 0 开始的,也就是说 0 代表 1 月,1 代表 2 月,以此类推,11 代表 12 月。这跟我们平时用的月份习惯不一样,得加 1 才行。
最终的代码就变成这样:
javascript
let now = new Date();
let month = *() + 1;
*(month); // 输出:10
这样就完美!但是,作为一个有追求的程序员,我还想让它更完善一点。比如,如果月份小于 10,就在前面补个 0,让它显示成 `01`、`02` 这样。
javascript
let now = new Date();
let month = *() + 1;
if (month < 10) {
month = '0' + month;
*(month); // 如果是 1 月,输出:01
搞定! 这样,无论现在是几月份,都能正确显示。
总结一下这回的小实践: new Date():获取当前时间。 getMonth():获取月份(0-11,需要加 1)。 注意月份的起始值:getMonth() 返回的月份是从 0 开始的,使用时要记得加 1。虽然只是一个小小的功能,但通过这回实践,我对 JavaScript 的 Date 对象有更深入的解。以后再遇到类似的需求,就能更快更准确地完成。希望这回分享对大家有所帮助!