Java中从12小时到24小时的时间转换

时间:2013-04-04 13:28:05

标签: java datetime syntax datetime-conversion

我在以下格式的字符串中有时间。

"MM/dd/yyyy hh:mm AM/PM"

我需要以24:00小时格式

获得时间

例如:

String str = "04/30/2013 10:20PM"

我需要花时间22:20

3 个答案:

答案 0 :(得分:3)

您必须将SimpleDateFormat用于任何类型的日期时间转换 你可以试试这个:

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

public class DateConversion {
   public void convertDate() {
      try{
       SimpleDateFormat df = new SimpleDateFormat("HH:mm");
       SimpleDateFormat pf = new SimpleDateFormat("MM/dd/yyyy hh:mm a");
       Date date = pf.parse("10:20PM");
       System.out.println(pf.format(date) + " = " + df.format(date));
        }catch(Exception e){
        // Do your exception handling over here.
        }
   }
}

我猜这会解决你的问题 这将给出一个输出:22:20

如有任何问题,请告诉我。

答案 1 :(得分:2)

使用SimpleDateFormat将字符串转换为Date对象,然后对其进行格式化。

String str = "04/30/2013 10:20PM";
Date date = new SimpleDateFormat("MM/dd/yyyy hh:mma").parse(str);
String result = new SimpleDateFormat("HH:mm").format(date);

有关类似问题,请参阅here

答案 2 :(得分:1)

使用“HH”代替“hh”例如:

Date dNow = new Date( );
SimpleDateFormat ft =   new SimpleDateFormat ("MM/dd/yyyy HH:mm ");
System.out.println("Current Date: " + ft.format(dNow));

in this link, specially in "Simple DateFormat format codes:" 你可以找到:

Character   Description               Example

h           Hour in A.M./P.M. (1~12)    12
H           Hour in day (0~23)          22