js根据当前日期 求一个月前 半年前 一年前的日期

    

   function p(s) {
        return s < 10 ? '0' + s: s;
}
getlastmonth()
function getlastmonth() {
    var myDate = new Date();
    var currentYear=myDate.getFullYear();
    var currentMonth=myDate.getMonth()+1;  
    var lastMonth=myDate.getMonth();
    var currentDate=myDate.getDate();
    var lastDate;
    //一个月前的时间
    var prevCurrentYear=0;
    var prevCurrentMonth=0;
    var preDay = 0;
    //三个月前的时间
    var tmY =0;
    var tmM = 0;
    var tmD = 0;
    
    //半年前的时间
 var halfY =0;
 var halfM = 0;
 var halD = 0;
 
 //一年前的时间
 var oneY = 0;
 var oneM = 0;
 var oneD  = 0;
    var daysInMonth = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
    isYears(currentYear);
 if(currentMonth==0){
     //一月前的时间
     prevCurrentYear=currentYear-1;
     prevCurrentMonth=12;
     isYears(prevCurrentYear)
     preDay = monthTime(prevCurrentMonth,currentDate)
     
     //三个月前的时间
     tmY = currentYear-1;
     tmM = 10;
     tmD = monthTime(tmM,currentDate);
     
     //半年前的时间
     halfY = currentYear-1;
     halfM = 6;
     halfD = monthTime(halfM,currentDate);
     
     //一年前的时间
      oneY = currentYear-1;
      oneM = 0;
      oneD = monthTime(oneM,currentDate);
     
 }else{
     //一个月前的时间
     prevCurrentYear=currentYear;
     prevCurrentMonth=isZero(currentMonth-1);
     preDay = monthTime(prevCurrentMonth,currentDate);
     
     //三个月前的时间
     if(currentMonth-3 < 0){
         tmY = currentYear-1;
         tmM = isZero(12+(currentMonth-3));
         isYears(tmY);
         tmD = monthTime(tmM,currentDate)
     }else{
         tmY = currentYear;
         tmM = isZero(currentMonth-3);
         isZero(tmM);
         isYears(tmY);
         tmD = monthTime(tmM,currentDate)
     }
     
     //半年前的时间
     if(currentMonth -6 < 3){
         halfY = currentYear-1;
         halfM = isZero(12+(currentMonth-6));
         isZero(halfM);
         isYears(halfM);
         halfD =monthTime(halfM,currentDate)
     }else{
         halfY = currentYear;
         halfM = isZero(currentMonth-6);
         isZero(halfM);
         isYears(halfM);
         halfD =monthTime(halfM,currentDate)
     }
     
     //一年前的时间
     oneY = currentYear-1;
     oneM =12+(currentMonth-12);
     isYears(halfM);
     oneD =monthTime(oneM,currentDate)
 }
 function isYears(years){
     if(years%4 == 0 && years%100 != 0  || years%400 == 0 ){
            daysInMonth[2]= 29;
        }
 }
 function monthTime(a,b){
     if(daysInMonth[a] < b){
             lastDate =  daysInMonth[a]
        }else{
             lastDate = b;                
        }
     return lastDate;
 }
 
 function isZero(s){
     if(s ==0 ){
         return s =12;
     }else{
         return s;
     }
 }
    var now=currentYear+'-'+p(currentMonth)+"-"+p(currentDate);
 var priceLastMonth = prevCurrentYear+"-"+p(prevCurrentMonth)+"-"+p(lastDate);
 //三个月前的时间
 var threeMonth = tmY + "-" + p(tmM) + '-' + p(tmD);
 
 //半年期的时间
 var halfTime = halfY +"-" + p(halfM) + "-" + p(halfD);
 
 //一年前的时间
 var oneTime = oneY + "-" + p(oneM) + "-" + p(oneD)
 var timeArr=[now,priceLastMonth,threeMonth,halfTime,oneTime]
 return timeArr;
}

转载于:https://www.cnblogs.com/THONLY/p/7761528.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 JavaScript 获取当前日期一月的日期字符串,可以使用以下代码: ``` var date = new Date(); date.setMonth(date.getMonth() - 1); var previousMonth = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear(); console.log(previousMonth); ``` 代码中,首先创建了一个 Date 对象,然后使用 setMonth() 方法将月份减 1,最后使用 getMonth()、getDate()、getFullYear() 方法获取一月的月份、日期和年份,拼接成日期字符串输出。 ### 回答2: 要使用JavaScript获取当前日期一个月日期字符串,需要按照以下步骤进行操作: 1. 使用Date对象获取当前日期的年份和月份。 2. 将获取的年份和月份分别存储在变量中。 3. 判断当前月份是否为1月份,如果是,则要将年份减1,设置月份为12。 4. 如果当前月份不是1月份,则将月份减1。 5. 使用字符串拼接的方式创建一个月日期字符串:将年份和月份转换为字符串格式,并为月份补0(例如,将4月转换为"04")。 6. 最后得到的字符串包括年份和月份,可以作为一个月日期字符串。 下面是一段示例代码,展示了如何实现以上操作: ```javascript // 获取当前日期 var currentDate = new Date(); // 获取当前月份和年份 var currentMonth = currentDate.getMonth() + 1; var currentYear = currentDate.getFullYear(); // 判断当前月份是否为1月份,若是,则设置为12月份,年份减1 if (currentMonth === 1) { currentMonth = 12; currentYear--; } else { currentMonth--; } // 将年份和月份转换为字符串,并补0 var previousMonth = currentYear.toString() + (currentMonth < 10 ? '0' + currentMonth : currentMonth.toString()); console.log(previousMonth); // 输出一个月日期字符串,例如:"202211" ``` 以上代码在控制台输出的结果是一个月日期字符串,例如:"202211"。你可以根据需自行调整代码,在一个月日期字符串的格式上进行更改。 ### 回答3: 在JavaScript中,可以使用Date对象来获取日期和时间信息。我们可以通过Date对象的方法来获取当前日期一个月日期字符串。 首先,我们可以创建一个新的Date对象,它会自动设置为当前日期和时间。例如: ``` var currentDate = new Date(); ``` 然后,我们可以使用Date对象的`getMonth()`方法来获取当前日期的月份,并将其减去1来获取一个月的月份。注意,`getMonth()`方法返回的月份是基于0的索引,所以需要将结果加1来得到实际的月份。例如: ``` var month = currentDate.getMonth() - 1 + 1; ``` 接下来,我们可以使用Date对象的`getFullYear()`方法和`getDate()`方法分别获取当前日期的年份和日期。例如: ``` var year = currentDate.getFullYear(); var day = currentDate.getDate(); ``` 然后,我们可以根据获取到的年份、月份和日期来构造一个月日期字符串。但是需要注意的是,如果当前月份是1月的话,一个月应该是去年的12月。所以需要进行判断并处理。例如: ``` if (month === 0) { month = 12; year -= 1; } ``` 最后,我们可以将获取到的年份、月份和日期拼接成日期字符串。例如: ``` var previousMonthDate = year + '-' + month + '-' + day; ``` 这样,我们就成功获取到了当前日期一个月日期字符串。 完整的代码如下: ```javascript var currentDate = new Date(); var month = currentDate.getMonth() - 1 + 1; var year = currentDate.getFullYear(); var day = currentDate.getDate(); if (month === 0) { month = 12; year -= 1; } var previousMonthDate = year + '-' + month + '-' + day; console.log(previousMonthDate); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值