zoukankan      html  css  js  c++  java
  • [Java]某日期时间加上若干分钟得到新的日期时间

    使用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

  • 相关阅读:
    6、加法算术
    5、找出最大和最小的数
    4、计算并输出圆的面积和周长
    2、函数y=f(x)
    1、两数的平方和
    单片机中断寄存器知识点总结
    创建PCB原理图的模板
    电机知识
    结合实例谈谈航拍全景的方法和技巧
    航拍技巧
  • 原文地址:https://www.cnblogs.com/heyang78/p/11868279.html
Copyright © 2011-2022 走看看