我的日期和时间存储在字符串中,即我的字符串包含str =“18/01/2013 5:00:00 pm”。如何在android中将其转换为24格式时间?
答案 0 :(得分:2)
您可以使用两个SimpleDateFormat实例:一个用于将输入解析为日期,另一个用于将日期格式化为具有所需格式的字符串。
例如,以下代码中的formattedDate
将为18/01/2013 17:00:00
:
String str = "18/01/2013 5:00:00 pm";
SimpleDateFormat input = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a");
Date dt = input.parse(str);
SimpleDateFormat output = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String formattedDate = output.format(dt); //contains 18/01/2013 17:00:00
注意:
hh
适用于上午/下午(1-12)小时,而HH
适用于小时(0-23)。答案 1 :(得分:1)
要获取AM PM和12小时日期格式,请使用hh:mm:ss a
作为字符串格式化程序,WHERE hh
表示12小时格式,a
表示AM PM格式。
注意: HH适用于24
小时,而hh适用于12
小时日期格式
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
String newFormat = formatter.format(testDate);
示例强>
String date = "18/01/2013 5:00:00 pm";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
String newFormat = formatter.format(testDate);
System.out.println(".....Date..."+newFormat);
答案 2 :(得分:0)
您可以使用SimpleDateFormat:
SimpleDateFormat dateFormat = new SimpleDateFormat(dd/mm/yyyy HH:mm:ss");
请参阅与您的要求相反的this。刚刚发布链接,这样你就可以了解HH和hh的不同之处。
答案 3 :(得分:0)
尝试使用java SimpleDateFormat类。
示例:
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
df.parse(date);
大写HH使用24小时格式