当前位置: 首页 > news >正文

SQL---计算两个日期之间的时间差

在进行日期处理的时候,有时会需要计算一下两个日期之间相差几年零几个月,这里记录一下,如何用mysql数据库和java结合,准确的拿到两个日期之间的时间差。

1.mysql数据库中,利用TIMESTAMPDIFF函数,拿到两个日期之间相差的月数,当然,也可以拿到天数,年数,如下:

SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13') as dayDiff;

结果:104
SELECT TIMESTAMPDIFF(MONTH,'2011-05-01','2013-01-13') as monthDiff;

结果:20
SELECT TIMESTAMPDIFF(YEAR,'2011-05-01','2013-01-13') as dayDiff;

结果:1

2.然后,在java代码中,对这个月数做个简单的处理即可,如下:

  1. long monthCount = (long)map.get("monthDiff");
  2. String yearMonth = "";
  3. if(monthCount == 12){
  4. yearMonth = "1年";
  5. }else if(monthCount < 12){
  6. yearMonth = monthCount + "个月";
  7. }else if(monthCount > 12){
  8. yearMonth = monthCount/12L+"年"+monthCount%12L+"个月";
  9. }
  10. map.put("yearMonth",yearMonth);

注意:从数据库返回来的这个月份差,是个long类型的。

比如,monthCount = 20L时,这个yearMonth =“1年8个月”




酒神音
发布了29 篇原创文章 · 获赞 0 · 访问量 459
私信 关注

相关文章:

  • Redis常用命令操作,持久化
  • 上海金洽会举办贯彻“浦江之光”论坛,《国际金融报》参与主持,科创办侯劲第一个主题发言
  • 微信小程序的数据会变动是什么情况呢?
  • A Gift from Knowledge Distillation: Fast Optimization,Network Minimization and Transfer Learning论文初读
  • Javaweb常用单词
  • python PyQt kears Tensorflow numpy 打包exe过程
  • 论拿到一个Web项目如何顺利运行
  • 二期80亿美元!西安三星电子闪存芯片项目投资落地
  • 《惢客创业日记》2019.10.24(周四)5G仅仅是速度快吗?(四)
  • 深度学习基础问题总结(一)
  • 瞭望|工业软件之忧
  • Epoll模型详解
  • 创建有模式对话框
  • 三连降结束! 美联储按下降息暂停键 中国央行怎么做
  • 超时时杀死python subprocess子进程?
  • 使用python将.mat文件转成csv格式
  • 正反向建图——kuangbin最短路专题总结(2)
  • 重磅|重庆、山东两地发文规范小额贷款公司发展:严控利率,严禁各种乱收费!
  • 商务部:前11个月实际使用外资8459.4亿元 同比增长6%
  • 基于MaxCompute InformationSchema进行冷门表热门表访问分析