Conversion from 12 hours time to 24 hours time in java

后端 未结 14 1150
失恋的感觉
失恋的感觉 2020-11-29 06:08

In my app, I have a requirement to format 12 hours time to 24 hours time. What is the method I have to use?

For example, time like 10

14条回答
  •  佛祖请我去吃肉
    2020-11-29 06:28

    Try this to calculate time difference between two times.

    first it will convert 12 hours time into 24 hours then it will take diff between two times

    String a = "09/06/18 01:55:33 AM";
                String b = "07/06/18 05:45:33 PM";
                String [] b2 = b.split(" ");
                String [] a2 = a.split(" ");
                SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm:ss");
                SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm:ss a");
                String time1 = null ;
                String time2 = null ;
                if ( a.contains("PM") && b.contains("AM")) {
                     
                     Date date = parseFormat.parse(a2[1]+" PM");
                     time1 = displayFormat.format(date);
                     time2 = b2[1];
                }else if (b.contains("PM") && a.contains("AM")) {
                    Date date = parseFormat.parse(a2[1]+" PM");
                    time1 = a2[1];
                    time2 = displayFormat.format(date);
                }else if (a.contains("PM") && b.contains("PM")){
                    Date datea = parseFormat.parse(a2[1]+" PM");
                    Date dateb = parseFormat.parse(b2[1]+" PM");
                    time1 = displayFormat.format(datea);
                    time2 = displayFormat.format(dateb);
                }   
                System.out.println(time1);
                System.out.println(time2);      
                SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
                Date date1 = format.parse(time1);
                Date date2 = format.parse(time2);
                long difference = date2.getTime() - date1.getTime(); 
                System.out.println(difference);
                System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));
    

    For More Details Click Here

提交回复
热议问题