我在以下格式的字符串中有时间。
"MM/dd/yyyy hh:mm AM/PM"
我需要以24:00
小时格式
例如:
String str = "04/30/2013 10:20PM"
我需要花时间22:20
答案 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