使用Java自带类库实现日期时间增减还是比自己人工拆分编写要牢靠,代码也简洁多了。

下面代码实现了在原有日期时间上加上一些分钟得到新的日期时间的功能,稍加改造还可以实现逆向运算。

代码:

package datetime;

import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TimeTest {
    public static String getNewTime(String datetime,String addMinutes) throws Exception{
        SimpleDateFormat formatter =new SimpleDateFormat("yyyy年MM月dd日 HH时mm分");

        Date originalDate = formatter.parse(datetime);

        Calendar newTime = Calendar.getInstance();
        newTime.setTime(originalDate);
        newTime.add(Calendar.MINUTE,Integer.parseInt(addMinutes));//日期加n分

        Date newDate=newTime.getTime();
        String retval = formatter.format(newDate);

        return retval;
    }

    public static void main(String[] args) throws Exception {
        String[][] arrays= {
                {"2019年11月15日 08时63分","10"},
                {"2019年11月15日 08时03分","15"},
                {"2019年11月15日 09时63分","20"},
                {"2019年11月15日 24时63分","25"},
                {"2019年11月15日 08时63分","30"},
                {"2019年11月15日 18时63分","35"},
                {"2019年11月15日 08时63分","40"},
                {"2019年11月15日 08时63分","45"},
                {"2019年11月15日 15时00分","50"},
                {"2019年11月15日 18时01分","60"},
                {"2019年11月15日 18时01分","360"},
        };

        for(String[] arr:arrays) {
            String template=" {0} + {1}分 = {2}";
            Object[] objs={arr[0],arr[1],getNewTime(arr[0],arr[1])};
            System.out.println(MessageFormat.format(template, objs));
        }
    }
}

输出:

 2019年11月15日 08时63分 + 10分 = 2019年11月15日 09时13分
 2019年11月15日 08时03分 + 15分 = 2019年11月15日 08时18分
 2019年11月15日 09时63分 + 20分 = 2019年11月15日 10时23分
 2019年11月15日 24时63分 + 25分 = 2019年11月16日 01时28分
 2019年11月15日 08时63分 + 30分 = 2019年11月15日 09时33分
 2019年11月15日 18时63分 + 35分 = 2019年11月15日 19时38分
 2019年11月15日 08时63分 + 40分 = 2019年11月15日 09时43分
 2019年11月15日 08时63分 + 45分 = 2019年11月15日 09时48分
 2019年11月15日 15时00分 + 50分 = 2019年11月15日 15时50分
 2019年11月15日 18时01分 + 60分 = 2019年11月15日 19时01分
 2019年11月15日 18时01分 + 360分 = 2019年11月16日 00时01分

附录:SimpleFormat输出格式定义,这个必不可少:

yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几

--END-- 2019-11-15 18:35

最新文章

  1. jquery获取dropdownlist的value和text值
  2. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】
  3. http://www.cnblogs.com/kissdodog/p/4159176.html
  4. WebService的一些案例
  5. 性能调优:理解Set Statistics IO输出
  6. error TRK0002
  7. Loggly:提高ElasticSearch性能的九个高级配置技巧
  8. Java基础知识强化之集合框架笔记64:Map集合之ArrayList嵌套HashMap
  9. java中构造方法及其作用
  10. 关于C++中vector和set使用sort方法进行排序
  11. win10大水牛主机插入耳机没有声音
  12. 翻转 -- CodeForces - 56B
  13. 6个laravel常用目录路径函数
  14. Linux split命令参数及用法详解---linux分割文件命令
  15. 求矩形的周长(线段树+扫描线) Picture POJ - 1177
  16. 09 Go 1.9 Release Notes
  17. ASP.NET 实现多页面合并一页显示
  18. html的css选择器
  19. Beta Scrum Day 6 — 听说
  20. [Spring Data MongoDB]学习笔记--_id和类型映射

热门文章

  1. RMAN恢复数据文件
  2. 子div撑不开父div的几种解决办法:
  3. querySelector和getElementById方法的区别
  4. Bootstrap 基本模板
  5. pymysql的增删改查、索引
  6. 【HDU-1045,Fire Net-纯暴力简单DFS】
  7. URI和URL、REST
  8. 《TheOne团队》团队作业三:团队项目原型设计与开发
  9. U盘损坏?
  10. modbus字符串的结束符介绍