• js日期、月份:日期加一天等


    本文出自:http://www.cnblogs.com/gmq-sh/p/5194706.html

    // 日期,在原有日期基础上,增加days天数,默认增加1天
            function addDate(date, days) {
                if (days == undefined || days == '') {
                    days = 1;
                }
                var date = new Date(date);
                date.setDate(date.getDate() + days);
                var month = date.getMonth() + 1;
                var day = date.getDate();
                return date.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day);
            }
    
            // 日期月份/天的显示,如果是1位数,则在前面加上'0'
            function getFormatDate(arg) {
                if (arg == undefined || arg == '') {
                    return '';
                }
    
                var re = arg + '';
                if (re.length < 2) {
                    re = '0' + re;
                }
    
                return re;
            }

    参考:

    如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下: 
         function addDate(date,days){ 
           var d=new Date(date); 
           d.setDate(d.getDate()+days); 
           var m=d.getMonth()+1; 
           return d.getFullYear()+'-'+m+'-'+d.getDate(); 
         } 
    其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。

    自己的思考:如果是最后几天,加10天会不会到下个月?

    setDate应该做了这部分工作

    如下为测试数据,思考正确

  • 相关阅读:
    dispatch_semaphore
    dispatch_set_target_queue
    iOS charles支持https抓包
    ios8 毛玻璃效果
    工程里配置.xconfig文件
    线程安全的nsmutabledictionary(读weex代码)
    关于信号量以及多线程的代码
    dispatch_set_target_queue测试
    dyld: Library not loaded问题解决
    iOS图片上加标签或者水印
  • 原文地址:https://www.cnblogs.com/liuqiyun/p/6438777.html
Copyright © 2020-2023  润新知