js實現控制日期月份增減

定義一個當前日期變量java

var myDate = new Date();app

 

 

處理月份添加函數(date當前日期,num增長的月份【正數:增長月份,負數:減小月份】)
function addMonth(date, num) {
    num = parseInt(num);
    var sDate = dateToDate(date);

    var sYear = sDate.getFullYear();
    var sMonth = sDate.getMonth() + 1;
    var sDay = sDate.getDate();

    var eYear = sYear;
    var eMonth = sMonth + num;
    var eDay = sDay;
    while (eMonth > 12) {
      eYear++;
      eMonth -= 12;
    }

    var eDate = new Date(eYear, eMonth - 1, eDay);

    while (eDate.getMonth() != eMonth - 1) {
      eDay--;
      eDate = new Date(eYear, eMonth - 1, eDay);
    }

    return eDate;
};函數

function dateToDate(date) {
    var sDate = new Date();
    if (typeof date == 'object'
      && typeof new Date().getMonth == "function"
      ) {
      sDate = date;
    }
    else if (typeof date == "string") {
      var arr = date.split('-')
      if (arr.length == 3) {
        sDate = new Date(arr[0] + '-' + arr[1] + '-' + arr[2]);
      }
    }

    return sDate;
  };this

 

 

 

格式化日期函數prototype

Date.prototype.Format = function(fmt)   
{ //author: meizz   
  var o = {   
    "M+" : this.getMonth()+1,                 //月份   
    "d+" : this.getDate(),                    //日   
    "h+" : this.getHours(),                   //小時   
    "m+" : this.getMinutes(),                 //分   
    "s+" : this.getSeconds(),                 //秒   
    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
    "S"  : this.getMilliseconds()             //毫秒   
  };   
  if(/(y+)/.test(fmt))   
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
  for(var k in o)   
    if(new RegExp("("+ k +")").test(fmt))   
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
  return fmt;   
};orm

 

//調用函數get

var myDate = new Date();
alert(addMonth(myDate, 1).Format("yyyy-MM-dd"));string

執行效果it

 

 

 

JAVA代碼獲取日期操做io

package test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.HashMap;import java.util.Map;public class Test {    /**     * @param args     * @throws ParseException      */    public static void main(String[] args) throws ParseException {        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");        String str = "2012-05-02";        Date date = df.parse(str);        Map<String, String> map = getFirstday_Lastday_Month(date);        System.out.println("當月第一天:" + getFirstDay());        System.out.println("當月最後一天:" + getLastDay());                System.out.println("一個月前第一天:" + map.get("first"));        System.out.println("一個月前最後一天:" + map.get("last"));    }    /**     * 某一個月第一天和最後一天     * @param date     * @return     */    private static Map<String, String> getFirstday_Lastday_Month(Date date) {        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Calendar calendar = Calendar.getInstance();        calendar.setTime(date);        calendar.add(Calendar.MONTH, -1);        Date theDate = calendar.getTime();                //上個月第一天        GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();        gcLast.setTime(theDate);        gcLast.set(Calendar.DAY_OF_MONTH, 1);        String day_first = df.format(gcLast.getTime());        StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");        day_first = str.toString();        //上個月最後一天        calendar.add(Calendar.MONTH, 1);    //加一個月        calendar.set(Calendar.DATE, 1);        //設置爲該月第一天        calendar.add(Calendar.DATE, -1);    //再減一天即爲上個月最後一天        String day_last = df.format(calendar.getTime());        StringBuffer endStr = new StringBuffer().append(day_last).append(" 23:59:59");        day_last = endStr.toString();        Map<String, String> map = new HashMap<String, String>();        map.put("first", day_first);        map.put("last", day_last);        return map;    }    /**     * 當月第一天     * @return     */    private static String getFirstDay() {        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Calendar calendar = Calendar.getInstance();        Date theDate = calendar.getTime();                GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();        gcLast.setTime(theDate);        gcLast.set(Calendar.DAY_OF_MONTH, 1);        String day_first = df.format(gcLast.getTime());        StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");        return str.toString();    }        /**     * 當月最後一天     * @return     */    private static String getLastDay() {        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Calendar calendar = Calendar.getInstance();        Date theDate = calendar.getTime();        String s = df.format(theDate);        StringBuffer str = new StringBuffer().append(s).append(" 23:59:59");        return str.toString();    }}

相關文章
相關標籤/搜索