我将我的日期和时间存储在字符串中,即我的字符串包含str ="18/01/2013 5:00:00 pm“。如何在android中将其转换为24格式时间?
发布于 2013-01-18 20:18:28
您可以使用两个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)。发布于 2013-01-18 20:22:15
试一试
String str ="18/01/2013 5:00:00 pm";
Date date = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a").parse(str);
str = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(date);
System.out.println(str);
输出
18/01/2013 17:00:00
发布于 2013-01-18 20:24:16
要获取AM PM和12小时日期格式,请使用hh:mm:ss a
作为字符串格式化程序,其中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);
https://stackoverflow.com/questions/14398742
复制相似问题