[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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM