javascript - 创建仅包含年份的日期对象

标签 javascript date

我习惯使用第四种语法 from MDN 创建 Date 对象as new Date(year, Month, day,hours, 分钟,秒,毫秒); 但最近我尝试设置一个只有一年的 Date 对象(如 >new Date(2017)),但正如您所料,它被视为一个,并将年份视为毫秒数。

是否有任何方法可以在不更改语法的情况下轻松使用年份并期望正确设置日期?

最佳答案

我想到了两个解决方案:

(1) 在构造日期时,将年份参数设置为 2017,并将月份参数设置为 0:

let d = new Date(2017, 0);
console.log(d.toString());

参数将被视为本地时间;月份和日期将为 1 月 1 日;所有时间分量都将设置为 0。

(2) 在构造日期时指定 "2017T00:00" 作为第一个也是唯一的参数:

let d = new Date("2017T00:00");
console.log(d.toString());

根据当前规范,这是一种有效的格式,浏览器应该将其视为本地时间。该行为与前面的示例相同。

关于javascript - 创建仅包含年份的日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47993728/

相关文章:

javascript - knockout 排序 - 耗时的任务

javascript - WebRTC:createOffer 的成功回调在 Chrome 中调用了两次

javascript - 如何按图库的 ID 过滤 div 元素

javascript - 如何动态拖动所有项目

javascript - 使用 javascript 使用文件上传显示图像

mysql - 获取两个日期之间的记录,但有时它们可​​能为空

excel - 如何在 Excel 中将文本转换为日期格式

java - 在 Java 中连接两个字符串然后转换为日期

Ruby - 昨天到某个时间的时间戳

python - 使用 python/pandas 将月、日、年转换为月、年?