js获取当前日期前一个月

该博客主要展示了一段JavaScript代码,通过Date对象获取当前日期和前一天日期,对月份和日期进行格式化处理,得到标准日期字符串,最后将昨日和今日日期字符串分别赋值给id为startId和endId的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 
不补0
<script>
var myDate=new Date();
alert(myDate.getFullYear() + "-" + (myDate.getMonth()+1) + "-" + myDate.getDate());
myDate.setMonth(myDate.getMonth()-1);
alert(myDate.getFullYear() + "-" + (myDate.getMonth()+1) + "-" + myDate.getDate());
</script>

 

 
补0

 

var nowDate = new Date();

        var yesterdayDate = new Date(nowDate.getTime() - 24*60*60*1000); //前一天

        var nowMonth = nowDate.getMonth()+1;

        nowMonth = nowMonth<9?"0"+nowMonth:nowMonth;

        var nowDay = nowDate.getDate()<10?"0"+nowDate.getDate():nowDate.getDate();

        var yesterdayMonth = yesterdayDate.getMonth()+1;

        yesterdayMonth = yesterdayMonth<9?"0"+yesterdayMonth:yesterdayMonth;

        var yesterdayDay = yesterdayDate.getDate()<10?"0"+yesterdayDate.getDate():yesterdayDate.getDate();

        var yesterdayDateStr = yesterdayDate.getFullYear() + "-" + yesterdayMonth + "-" + yesterdayDay;

        var nowDateStr = nowDate.getFullYear() + "-" + nowMonth + "-" + nowDay;

        $('#startId').val(yesterdayDateStr);

        $('#endId').val(nowDateStr);

 

### 使用 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]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值