// 获取当前日期
const currentDate = new Date();// 获取三个月前的时间
const threeMonthsAgo = new Date();
threeMonthsAgo.setMonth(currentDate.getMonth() - 3);// 获取半年前的时间
const sixMonthsAgo = new Date();
sixMonthsAgo.setMonth(currentDate.getMonth() - 6);// 获取一年前的时间
const oneYearAgo = new Date();
oneYearAgo.setFullYear(currentDate.getFullYear() - 1);// 将日期对象转换为自定义日期格式
const formatDateString = (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}`;
};// 输出结果
console.log(formatDateString(threeMonthsAgo));
console.log(formatDateString(sixMonthsAgo));
console.log(formatDateString(oneYearAgo));
在上述代码中,currentDate
是当前日期对象,我们利用 setMonth()
和 setFullYear()
方法来设置相应的月份和年份。我们定义了一个 formatDateString
函数,接受一个日期对象作为参数,并根据年份、月份和日期格式化成 "YYYY-MM-DD" 的格式。我们使用 getFullYear()
、getMonth()+1
和 getDate()
方法获取相应日期的年份、月份和日期,并使用 String.prototype.padStart()
方法来确保月份和日期都是两位数字。
最后,我们可以通过 console.log()
输出符合我们需求的日期字符串。
请注意,JavaScript 中的日期对象是基于本地时区设置的。如果你希望在处理日期时使用的是其他时区,你需要使用相关的第三方库或手动进行时区转换。