精华内容
下载资源
问答
  • Mysql 日期和时间加及日期计算相差、月、周、日数整理 1、日期和时间加 select now()-- 获取当前具体的日期和时间 2019-11-13 16:38:20 select curdate()-- 获取当前日期 2019-11-13 select curtime()-- ...

    Mysql 日期和时间加减及日期计算相差年、月、周、日数整理

    1、日期和时间加减

    select now()    -- 获取当前具体的日期和时间 2019-11-13 16:38:20
    select curdate()    -- 获取当前日期 2019-11-13
    select curtime()    -- 获取当前时间 6:38:20

    1.1、MySQL加减某个时间间隔

    设置当前日期变量

    set @dt = now()    -- 设置当前日期

    select @dt    -- 查询变量值

    加减某个时间间隔函数date_add()与date_sub()

    date_add('某个日期时间',interval 1 时间种类名);

    示例:

    select date_add(@dt, interval 1 year);    //加1年
    select date_add(@dt, interval 1 month);    //加1月

    year:年,quarter:季,month:月,week:周,day:天,hour:小时,minuter:分钟,second:秒,microsecond:毫秒

    注:也可以不用变量,直接加减某个时间,如:select date_add('2019-01-01', interval 1 day);

    select date_add(now(), interval 1 day); -- 加1天
    select date_add(now(), interval 1 hour); -- 加1小时
    select date_add(now(), interval 1 minute); -- 加1分钟
    select date_add(now(), interval 1 second); -- 加1秒
    select date_add(now(), interval 1 microsecond); -- 加1毫秒
    select date_add(now(), interval 1 week); -- 加1周
    select date_add(now(), interval 1 month); -- 加1月
    select date_add(now(), interval 1 quarter); -- 加1季
    select date_add(now(), interval 1 year); -- 加1年

    MySQL adddate(), addtime()函数,可以用date_add() 来替代。

    此外,MySQL 为日期减去一个时间间隔:date_sub()
    MySQL date_sub() 日期时间函数 和date_add() 用法一致。
    MySQL 中subdate(),subtime()函数,建议,用date_sub()来替代。

    1.2、日期相减

    datediff(date1,date2):两个日期相减,date1减去date2得到相减之后的天数

    select datediff('20191010','20191001')    -- 9

    timediff(time1,time2):两个时间相减 time1减time2,返回差值。

    select timediff('2019-06-03 12:30:00', '2019-06-03 12:29:30')    -- 00:00:30
    等价于
    select timediff('12:30:00', '12:29:30')    -- 00:00:30

    2、日期计算相差年、月、周、日数整理

    2.1、相差年数

    SELECT
      NOW() 当前日期,
      DATE_ADD(NOW(), INTERVAL - 800 DAY) 历史日期,
      TIMESTAMPDIFF(YEAR,DATE_ADD(NOW(), INTERVAL - 800 DAY),NOW()) AS 相差年;

    当前日期                |历史日期                |相差年 |
    --------------------|--------------------|----|
    2019-11-13 17:26:30 |2017-09-04 17:26:30 |2   |

    2.2、相差月数

    SELECT
      NOW() 当前日期,
      DATE_ADD(NOW(), INTERVAL - 800 DAY) 历史日期,
      TIMESTAMPDIFF(MONTH,DATE_ADD(NOW(), INTERVAL - 800 DAY),NOW()) AS 相差月;

    当前日期                |历史日期                |相差月 |
    --------------------|--------------------|----|
    2019-11-13 17:27:49 |2017-09-04 17:27:49 |26  |

    2.3、相差周数

    SELECT
      NOW() 当前日期,
      DATE_ADD(NOW(), INTERVAL - 800 DAY) 历史日期,
      TIMESTAMPDIFF(WEEK,DATE_ADD(NOW(), INTERVAL - 800 DAY),NOW()) AS 相差周;

    当前日期                |历史日期                |相差周 |
    --------------------|--------------------|----|
    2019-11-13 17:29:11 |2017-09-04 17:29:11 |114 |

    2.4、相差天数 


    整理了一下三种方式:
    1)、方式一

    SELECT
      NOW() 当前日期,
      DATE_ADD(NOW(), INTERVAL - 800 DAY) 历史日期,
      TIMESTAMPDIFF(DAY,DATE_ADD(NOW(), INTERVAL - 800 DAY),NOW()) AS 相差日;

    当前日期                |历史日期                |相差日 |
    --------------------|--------------------|----- -----  |
    2019-11-13 17:31:45 |2017-09-04 17:31:45 |800 |

    2)、方式二

    SELECT
        TO_DAYS('2019-09-10') - TO_DAYS('2018-09-01') AS 相差天数;

    相差天数 |
    ----- -----  |
    374         |

    3)、方式三

    SELECT
      DATEDIFF(NOW(), '2019-09-01') AS 相差天数;

    相差天数 |
    ----- -----  |
    73           |

    参考:https://blog.csdn.net/qq_39588003/article/details/90758827
               https://blog.csdn.net/jiahao1186/article/details/82586889
     

    展开全文
  • 1.java 日期加运算 GregorianCalendar gc = new GregorianCalendar(); //java中对日期的加操作 gc.add(1,-1);//表示年份一. gc.add(2,-1);//表示月份一. gc.add(3,-1);//表示周一. gc.add(5,-1);//表示天...

    1.java 日期加减运算

    GregorianCalendar gc = new GregorianCalendar();

    //java中对日期的加减操作

    gc.add(1,-1);//表示年份减一.
    gc.add(2,-1);//表示月份减一.
    gc.add(3,-1);//表示周减一.
    gc.add(5,-1);//表示天减一.
    //以此类推应该可以精确的毫秒吧.没有再试.大家可以试试.
    GregorianCalendar类的add(int field,int amount);//方法表示年月日加减.
    field///参数表示年,月.日等.

    amount//参数表示要加减的数量.


    例子:

    String today = "201308";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
    GregorianCalendar gc = new GregorianCalendar();
    try {
    gc.setTime(sdf.parse(today));
    gc.add(2, 1);//月加1
    } catch (Exception e) {
    e.printStackTrace();
    }
    today = sdf.format(gc.getTime());
    System.out.println("today="+today);

    输出:today=201309

    展开全文
  • 摘要: Java对日期Date类进行加运算,年份加,月份加 Date d=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(d))...
    摘要: Java对日期Date类进行加减运算,年份加减,月份加减

     Date d=new Date();   
     SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");   
     System.out.println("今天的日期:"+df.format(d));   
     System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - (long)2 * 24 * 60 * 60 * 1000)));  
       System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + (long)3 * 24 * 60 * 60 * 1000)));

     

     

     

    JAVA处理日期时间常用方法:

    1.java.util.Calendar
    Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

    例:

    Java代码

    Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。    

    cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.    

    cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.    

    //通过格式化输出日期    

    java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");    

    System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));    

    System.out.println("yesterday is:"+format.format(cal.getTime()));   

    得到2007-12-25日期:

     

    Java代码

    Calendar calendar = new GregorianCalendar(20071125,0,0,0);    

    Date date = calendar.getTime();    

    System.out.println("2007 Christmas is:"+format.format(date));   


    java月份是从0-11,月份设置时要减1.

    GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

    取日期的部分:

    Java代码

    int year =calendar.get(Calendar.YEAR);    

    int month=calendar.get(Calendar.MONTH)+1;

    int day =calendar.get(Calendar.DAY_OF_MONTH);    

    int hour =calendar.get(Calendar.HOUR_OF_DAY);    

    int minute =calendar.get(Calendar.MINUTE);    

    int seconds =calendar.get(Calendar.SECOND);   



    取月份要加1.

    判断当前月份的最大天数:

    Java代码

    Calendar cal = Calendar.getInstance();    

    int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);    

    System.out.println(day);   



    2.java.util.Date

    Java代码

    java.util.Date today=new java.util.Date();    

    System.out.println("Today is "+formats.format(today));   



    取当月的第一天:

    Java代码

    java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");    

    java.util.Date firstDay=new java.util.Date();    

    System.out.println("the month first day is "+formats.format(firstDay));   


    取当月的最后一天:

    Java代码

        

    Calendar cal = Calendar.getInstance();    

    int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);    

    java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);    

    System.out.println(formatter3.format(cal.getTime()));   



    求两个日期之间相隔的天数:

    Java代码

    java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");    

    java.util.Date beginDate= format.parse("2007-12-24");    

    java.util.Date endDate= format.parse("2007-12-25");    

    long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);    

    System.out.println("相隔的天数="+day);   


    一年前的日期:

    Java代码

    java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");    

    java.util.Date todayDate=new java.util.Date();    

    long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;    

    todayDate.setTime(beforeTime*1000);    

    String beforeDate=formatter.format(todayDate);    

    System.out.println(beforeDate);   


    一年后的日期:

    Java代码

    java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");    

    java.util.Date todayDate=new java.util.Date();    

    long afterTime=(todayDate.getTime()/1000)+60*60*24*365;    

    todayDate.setTime(afterTime*1000);    

    String afterDate=formatter.format(todayDate);    

    System.out.println(afterDate);   


    求10小时后的时间

    Java代码

    java.util.Calendar Cal=java.util.Calendar.getInstance();    

    Cal.setTime(dateOper);    

    Cal.add(java.util.Calendar.HOUR_OF_DAY,10);    

    System.out.println("date:"+forma.format(Cal.getTime()));   


    求10小时前的时间

    Java代码

    java.util.Calendar Cal=java.util.Calendar.getInstance();    

    Cal.setTime(dateOper);    

    Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);    

    System.out.println("date:"+forma.format(Cal.getTime()));   


    3.java.sql.Date
    继承自java.util.Date,是操作数据库用的日期类型

    Java代码

    java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());

     


    日期比较:简单的比较可以以字符串的形式直接比较,也可使用
    java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式来比较日期的大小.也可使用java.util.Date.after(java.util.Date)来比较.

    相差时间:
    long difference=c2.getTimeInMillis()-c1.getTimeInMillis();
    相差天数:long day=difference/(3600*24*1000)
    相差小时:long hour=difference/(3600*1000)
    相差分钟:long minute=difference/(60*1000)
    相差秒: long second=difference/1000

    补充:

    Java代码

    DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");    

    System.out.println(df.format(new Date()));    

    Date date = new Date();    

    DateFormat shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);    

    DateFormat mediumDate =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);    

    DateFormat longDate =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);    

    DateFormat fullDate =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);    

      

    system.out.println(shortDate.format(date));    

    System.out.println(mediumDate.format(date));    

    System.out.println(longDate.format(date));    

    System.out.println(fullDate.format(date));    

      

    08-4-15 下午3:24    

    2008-4-15 15:24:31    

    2008415日 下午032431秒    

    2008415日 星期二 下午032431秒CST    

     

    Calendar c = Calendar.getInstance(); 

    c.add(Calendar.MONTH, 1); // 目前時間加1個月    

    System.out.println(df.format(c.getTime()));    

    c.add(Calendar.HOUR, 3); // 目前時間加3小時    

    System.out.println(df.format(c.getTime()));    

    c.add(Calendar.YEAR, -2); // 目前時間減2年    

    System.out.println(df.format(c.getTime())); 

    c.add(Calendar.DAY_OF_WEEK, 7); // 目前的時間加7天    

    System.out.println(df.format(c.getTime())); 

    展开全文
  • date时间加

    千次阅读 2019-03-07 16:20:30
    如果自己去的话要花费不少功夫,要考虑月份、年份、甚至2月的话还有闰年,于是查阅资料,发现js有现成的日期加计算。 JS的Date对象有四种创建方式: var d = new Date(); //直接获得当前日期 var d = new Date...

    今天有个需求说一进入页面要查询最近三天的数据。当然我们很容易能够获取当天的日期,但是三天前的日期就有点麻烦了,比如月初的第一天,或者年初的第一天。如果自己去算的话要花费不少功夫,要考虑月份、年份、甚至2月的话还有闰年,于是查阅资料,发现js有现成的日期加减计算。

    JS的Date对象有四种创建方式:
    var d = new Date(); //直接获得当前日期
    var d = new Date(milliseconds); //传入日期的毫秒数
    var d = new Date(dateString); // 传入时间字符串,经过我的验证,格式为:"2018-03-15"
    var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);//分别按年、月、日等逗号隔开传入

    当然有了以上,我的需求也很好解决了,如下:
    function AddDate(date,addDays){ //date传入你需要的日期,格式"xxxx-xx-xx"。addDays传要加减的日期数,往前传正数,往后传负数
        var Dates = new Date(date);
        Dates.setDate(Dates.getDate() + addDays);
        var mon = Dates.getMonth() + 1,
            day = Dates.getDate();
        if(mon < 10){
            mon = "0" + mon;//月份小于10,在前面补充0
        }
        if(day < 10){
            day = "0" + day;//日小于10,在前面补充0
        }
        return Dates.getFullYear() + "-" + mon + "-" +day;
    }

    调用方法:AddDate("2018-03-01",-2);
    输出:"2018-02-27"
    --------------------- 
    作者:qq416761940 
    来源:CSDN 
    原文:https://blog.csdn.net/qq416761940/article/details/79574928 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • oracle date 加

    千次阅读 2014-04-14 15:49:06
    Oracle sysdate 时间加 加法   select sysdate,add_months(sysdate,12) from dual; --加1  select sysdate,add_months(sysdate,1) from dual; --加1月  select sysdate,to_...
  • html日期加

    千次阅读 2017-08-29 15:52:34
    //显示某某月某日  function getForecastTime(date) {  date = new Date(date);  var nDate = date.getFullYear() + "";  nDate+=date.getMonth() + 1 + "月" + date.getDate() + "日";  
  • oracle日期相加

    千次阅读 2015-01-05 19:00:43
    to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错。...表示year的:y 表示的最后一位 yy 表示的最后2位 yyy 表示的最后3位 yyyy 用4位数表示 表示month的:mm 用2位数字表
  • 辞旧迎新又一年(18年终总结)

    千次阅读 2019-01-31 22:36:05
    赶在春节放假前写完我2018的年终总结,虽然又晚了,但还是不能缺的。每次拖延都有很多的理由,这次主要是19上班第一天喜提996,从此属于自己的时间又少了,哎,说到底其实还是自己拖延症犯了。  先概括下过去的...
  • oracle日期加计算

    万次阅读 2018-01-24 14:39:52
    oracle数据库中有多种对日期加的计算方法,废话不多说,开始。 1、直接加。 (1)求当前时间及一天后: select sysdate,sysdate + 1 from dual; 输出为: 2018-1-24 14:05:19 2018-1-25 14:05:19 (2...
  • DateTime 相加

    千次阅读 2011-08-07 20:49:34
    46 //本年度,用ToString的字符格式化我们也很容易地出本年度的第一天和最后一天 47 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString(); 48 DateTime.Parse(DateTime.Now....
  • 这里写自定义目录标题使用js实现日期加 使用js实现日期加 使用js实现日期年月日的加,自动处理闰年: ...// type:、月或者日 // data:日期 // 加减量 function addOrReduceDate(type,date,nu...
  • JAVA 日期加计算

    千次阅读 2019-08-01 19:46:55
    1.获取当前系统时间 ...2.实现时间的加的两种方法 第一种:用java.text.SimpleDateFormat来实现 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天的日期:"+df.format(date...
  • JS日期的加

    千次阅读 2018-03-15 22:49:19
    如果自己去的话要花费不少功夫,要考虑月份、年份、甚至2月的话还有闰年,于是查阅资料,发现js有现成的日期加计算。JS的Date对象有四种创建方式:var d = new Date(); //直接获得当前日期 var d = new Date...
  • 治法(Decrease and Conquer)

    千次阅读 2018-01-17 17:45:46
    治法 治法是一种一般性的算法设计技术,它利用了一个问题给定实例的解和同样问题较小实例的解之间的关系。一旦建立了这样一种关系,我们既可以自顶至下(递归)也可以自底至上地运用它(非递归)。 治法有3...
  • Oracle 日期加运算

    万次阅读 2015-03-10 15:10:11
    我们都知道数字可以进行加、、乘、除等运算。那么,日期可不可以呢?答案是,日期只能进行加、运算。 在开始操作日期之前,我们先了解一下 Oracle 支持哪些日期数据类型,如下所示: DATE TIMESTAMP ...
  • c# 时间加计算

    千次阅读 2018-11-27 17:59:51
    //昨天,就是今天的日期一 DateTime.Now.AddDays(-1).ToShortDateString(); //明天,同理,加一 DateTime.Now.AddDays(1).ToShortDateString(); //本周(要知道本周的第一天就得先知道今天是星期几,从而得知...
  • //日期1 // rightNow.add(Calendar.MONTH,3);//日期加3个月 // rightNow.add(Calendar.DAY_OF_YEAR,5);//日期加5天 rightNow.add(Calendar.DAY_OF_YEAR,day); Date dt1=rightNow.getTime(); System.out....
  • BIM计算-属于自己的减肥小程序

    万次阅读 2020-04-08 20:33:03
    本人一位大三的学生,身高175cm,体重175(斤)。... 于是我到网上上面了解到了中国通用的BMI计算方式,算算的我的肥胖程度,结果十分震惊。 结果来源https://cn.onlinebmicalculator.com/ 从...
  • JAVA 日期Date加整理

    万次阅读 2018-07-30 23:16:25
    //日期1 rightNow.add(Calendar.MONTH,3);//日期加3个月 rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天 Date dt1=rightNow.getTime(); String reStr = sdf.format(dt1); System.out.println(reStr);...
  • * 日期 */ public static String dateMinusYear (String str) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMM" ); Date dt = sdf.parse(str); Calendar rightNow...
  • oracle 时间相加

    万次阅读 2014-03-03 09:41:58
    现在小时完了,不足两位左补零:  LPAD((substr('08:30',1,2) + substr('00:30',1,2)+(substr('08:30',length('08:30')-1,2)+substr('00:30',length('00:30')-1,2))/60),2,'0')  把分钟取余得显示用的...
  • mysql 日期加天数

    千次阅读 2018-11-06 14:46:16
    -加1 MySQL adddate(), addtime()函数,可以用date_add() 来替代。 2. MySQL 为日期减去一个时间间隔:date_sub() MySQL date_sub() 日期时间函数 和date_add() 用法一致。 MySQL 中subdate(),subtime...
  • 因为某个项目需要统计 近1周、近1个月、近6个月 等数据,所以在时间的加上面想了很多方式,最后决定用java.util.Calendar java.util.Calendar ,提供了计算时间的方式, Calendar.DATE : 代表天数 Calendar....
  • 变量的作用域 变量内存分析(简单版) printf函数 Scanf函数 scanf运行原理 putchar和getchar 运算符基本概念 运算符分类 运算符的优先级和结合性 算数运算符 赋值运算符 自增自运算符 sizeof运算符 逗号运算符 ...
  • Linux date日期格式及加运算

    万次阅读 2012-08-16 13:46:44
    ' // 同上面加1天(或加1月) 2012 08 月19日 date +"%Y%- m 月%d日" // % -m 去除月份对其的 零 2012 8 月20日 ------------------------------------ Ubuntu 修改系统时间 sudo date -s MM/DD/YY sudo ...
  • //今天 ...//昨天,就是今天的日期一 DateTime.Now.AddDays(-1).ToShortDateString(); //明天,同理,加一 DateTime.Now.AddDays(1).ToShortDateString(); //本周(要知道本周的第一天就得先知
  • 转载:... //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期一 DateTime.Now.AddDays(-1).ToShortDateString(); //明天,同理,加一 DateTime.Now.AddDays(1).ToShor
  • 我的减脂增肌计划

    千次阅读 2015-05-18 15:58:01
    一下你维持现在体重每天需要摄入多少热量:  年龄 男 (体重单位为公斤) 女 (体重单位为公斤)  10-17岁 (17.5×体重+651)×活动系数 (12.2×体重+746)×活动系数  18-29岁 (15.3×体重+679)×活动系数 ...
  • 关于C#时间的加运算

    千次阅读 2019-01-22 13:33:32
    目的:为了设置结束的时间 /////////////////////////////////// //今天 ...//昨天,就是今天的日期一 DateTime.Now.AddDays(-1).ToShortDateString(); //明天,同理,加一 DateTime.Now.AddDa...
  • 毕业三

    千次阅读 多人点赞 2018-09-16 07:52:34
    如约而至,一年一度的“毕业N”系列,2018,毕业三了。 生活 这一年生活轨迹变化很大,也清晰了很多。 去年底在家里买了房,跟女朋友定了亲,接下来可能就只剩到哪里定居的问题了。 学会了做饭,本以为做饭...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,222
精华内容 16,888
关键字:

年减年怎么算