如何将DateTime字符串转换为android中的日期和24小时格式化时间?

如何将DateTime字符串转换为android中的日期和24小时格式化时间?,android,datetime,Android,Datetime,我有一个包含日期和时间的字符串,我希望能够去掉上午和下午,并将所有时间转换为24小时格式,所以晚上9:30实际上是21:30 我有这个代码,我试图转换成特定的格式,但不能得到正确的结果 String DateTime="14/03/2012 12:32:38 PM"; format=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a"); try { date=format1.parse(Tr

我有一个包含日期和时间的字符串,我希望能够去掉上午和下午,并将所有时间转换为24小时格式,所以晚上9:30实际上是21:30

我有这个代码,我试图转换成特定的格式,但不能得到正确的结果

  String DateTime="14/03/2012 12:32:38 PM";

   format=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a");
            try {
                date=format1.parse(TransactionDate);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

 After that im trying to convert date in yyyy-MM-dd and time in 24 Hour format but im not getting proper result.

     format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            TransDateTime=format1.format(date);
我得到的结果是2012-03-14 12:32:38下午,但我想要24小时格式的时间日期是正确的,但时间不是24小时格式


抱歉,这是一个常见的问题,但我尝试了所有的解决方案,结果都是一样的。任何朋友都可以告诉我问题出在哪里。

要获得24小时格式的小时,您必须使用

“H:mm”


作为模式

要以24小时格式获取小时,您必须使用

“H:mm”


作为模式

请使用以下代码,它将解决您的问题

public static void main(String[] args) {
    // Make a String that has a date in it, with MEDIUM date format
    // and SHORT time format.
    String dateString = "Nov 4, 2003 8:14 PM";

    // Get the default MEDIUM/SHORT DateFormat
    DateFormat format =
        DateFormat.getDateTimeInstance(
        DateFormat.MEDIUM, DateFormat.SHORT);

    // Parse the date
    try {
        Date date = format.parse(dateString);
        System.out.println("Original string: " + dateString);
        System.out.println("Parsed date    : " +
             date.toString());
    }
    catch(ParseException pe) {
        System.out.println("ERROR: could not parse date in string \"" +
            dateString + "\"");
    }
}

请使用以下代码,它将解决您的问题

public static void main(String[] args) {
    // Make a String that has a date in it, with MEDIUM date format
    // and SHORT time format.
    String dateString = "Nov 4, 2003 8:14 PM";

    // Get the default MEDIUM/SHORT DateFormat
    DateFormat format =
        DateFormat.getDateTimeInstance(
        DateFormat.MEDIUM, DateFormat.SHORT);

    // Parse the date
    try {
        Date date = format.parse(dateString);
        System.out.println("Original string: " + dateString);
        System.out.println("Parsed date    : " +
             date.toString());
    }
    catch(ParseException pe) {
        System.out.println("ERROR: could not parse date in string \"" +
            dateString + "\"");
    }
}

没有得到正确的结果,同样的结果那要看情况了。12:32为24小时格式。。如果它显示13:00为下午1点,你可以说“没有得到正确的结果”。但在下午12点之后应该是00:32。是的,它有。。对不起,我没有问你在我之前的评论中是指上午12点还是下午12点。。这有点奇怪。文档上写着“一天中的小时数(0-23)”,所以你的代码对我来说很好…嘿,下午1点后,它显示我13:00:00,但是下午12点后,它应该是00:32,但没有得到正确的结果,同样的结果2012-03-14 12:32,这取决于。12:32为24小时格式。。如果它显示13:00为下午1点,你可以说“没有得到正确的结果”。但在下午12点之后应该是00:32。是的,它有。。对不起,我没有问你在我之前的评论中是指上午12点还是下午12点。。这有点奇怪。文档上写着“一天中的小时数(0-23)”,所以你的代码对我来说很好…嘿,下午1点之后,它显示我13:00:00,但是下午12点之后呢,它应该是00:32 PM12:32是24小时格式。。请检查任何值01.00pm如果它不会给你13.00那么只有你可以说你的结果是错误的是下午1点后它给我13:00但是12:32怎么样它应该是00:32。12:32是24小时格式。。请检查任何值01.00pm如果它不会给你13.00那么只有你可以说你的结果是错误的是下午1点后它给我13:00但是12:32呢它应该是00:32。