📜  javascript 获取没有时间的日期 - Javascript (1)

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

Javascript 获取没有时间的日期

在 Javascript 中,要获取没有时间的日期,我们需要使用 Date 对象。Date 对象表示自 1970 年 1 月 1 日 00:00:00 UTC (协调世界时) 以来经过的毫秒数。

获取当前日期

要获取当前日期,我们可以直接创建一个 Date 对象,然后使用 getDate()getMonth()getFullYear() 方法分别获取当前日期的日、月和年。

const date = new Date();
const day = date.getDate();
const month = date.getMonth() + 1; // 月份从 0 开始,需要加 1
const year = date.getFullYear();
const dateString = `${year}-${month}-${day}`;
console.log(dateString); // 输出例如 "2021-07-21"
获取指定日期

要获取指定日期,我们需要将日期字符串解析为 Date 对象,然后使用上面提到的方法获取日期、月份和年份。

const dateString = '2021-06-15';
const date = new Date(dateString);
const day = date.getDate();
const month = date.getMonth() + 1;
const year = date.getFullYear();
const newDateString = `${year}-${month}-${day}`;
console.log(newDateString); // 输出 "2021-06-15"
注意事项

值得注意的是,由于 Date 对象表示的是 UTC 时间,因此在使用上述方法获取日期、月份和年份时,可能会有时区偏差。为避免这种问题,我们应该使用 getUTCDate()getUTCMonth()getUTCFullYear() 方法获取 UTC 时间下的日期、月份和年份。

另外,如果需要使用日期进行计算,例如计算两个日期之间的天数,我们需要将日期转换为时间戳(以毫秒为单位的数字),然后进行计算。

const dateString1 = '2021-06-15';
const dateString2 = '2021-07-21';
const date1 = new Date(dateString1);
const date2 = new Date(dateString2);
const timeDiff = Math.abs(date2.getTime() - date1.getTime());
const dayDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)); // 计算天数
console.log(dayDiff); // 输出 "36"

以上就是 Javascript 获取没有时间的日期的方法。需要注意的是,由于涉及到时区和计算等问题,我们在实际使用中还需要灵活应用这些方法,尤其是在日期计算和时间格式化等方面。