javascript获取当前日期以及前一个月
时间: 2025-06-28 20:21:10 浏览: 19
### 使用 JavaScript 获取当前日期和前一个月的日期
为了获取当前日期以及前一个月的具体日期,在 JavaScript 中可以创建 `Date` 对象并操作其属性。
#### 获取当前日期
通过实例化一个新的 `Date` 对象可以直接获得代表此刻时间的对象。接着调用该对象的方法如 `getFullYear()`、`(getMonth() + 1)` 和 `getDate()` 可分别取得完整的年份数字、月份(需加一因为默认从零开始计算)、具体的日数:
```javascript
// 创建一个表示现在的 Date 实例
var currentDate = new Date();
// 提取各部分组成字符串形式的日期表达
var currentYear = currentDate.getFullYear(); // 年份
var currentMonth = currentDate.getMonth() + 1; // 月份 (范围应为1到12)
var currentDay = currentDate.getDate(); // 日子
console.log(`今天的日期是 ${currentYear}-${String(currentMonth).padStart(2, '0')}-${String(currentDay).padStart(2, '0')}`);
```
这段代码会打印出形如 "今天是 YYYY-MM-DD" 的消息[^1]。
#### 计算上个月的第一天到最后一天
对于求解上个月的信息,则可以通过调整现有的 `Date` 对象来完成。这里的关键在于理解当我们将某月设为其之前的某个负数值时,JavaScript 自动处理溢出情况的能力——即自动向前推进至前几个月甚至更早的时间点。下面展示了一种方法用于得到指定月份的第一个与最后一个日子:
```javascript
function getLastAndFirstDayOfPreviousMonth(date) {
const firstDayThisMonth = new Date(date.getFullYear(), date.getMonth(), 1);
const lastDayPrevMonth = new Date(firstDayThisMonth.setDate(0));
const firstDayPrevMonth = new Date(lastDayPrevMonth.getFullYear(), lastDayPrevMonth.getMonth(), 1);
function formatDate(d) {
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;
}
return {
start: formatDate(firstDayPrevMonth),
end: formatDate(lastDayPrevMonth)
};
}
const today = new Date();
const prevMonthDates = getLastAndFirstDayOfPreviousMonth(today);
console.log(`上个月的第一天是${prevMonthDates.start},最后一天是${prevMonthDates.end}.`);
```
此函数接收任意给定的一个 `date` 参数,默认情况下传入的是今日的新建 `Date` 对象。它返回一个包含两个键值对的对象:一个是上个月第一天的确切日期,另一个则是那个月的最后一刻。这两个值都被转换成了易于阅读的形式 "YYYY-MM-DD"[^3]。
阅读全文
相关推荐














