如何在android中将存储在字符串中的日期和时间转换为24格式时间?

时间:2013-01-18 12:14:38

标签: java android

我的日期和时间存储在字符串中,即我的字符串包含str =“18/01/2013 5:00:00 pm”。如何在android中将其转换为24格式时间?

4 个答案:

答案 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)。
  • 有关更多格式选项,请查看javadoc

答案 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小时格式