Konvertieren von Datum und Uhrzeit in das 24-Stunden-Format


81

Die Zeit, die ich vom Server bekomme, ist wie Jul 27, 2011 8:35:29 AM.

Ich möchte es konvertieren yyyy-MM-dd HH:mm:ss.

Ich möchte auch, dass die konvertierte Zeit im 24-Stunden-Format vorliegt. Kann jemand eine Lösung für dieses Problem geben. Die Ausgabe, die ich erhalten möchte, ist wie2011-07-27 08:35:29

Antworten:


119

Versuche dies:

String dateStr = "Jul 27, 2011 8:35:29 AM";
DateFormat readFormat = new SimpleDateFormat( "MMM dd, yyyy hh:mm:ss aa");
DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
    date = readFormat.parse(dateStr);
} catch (ParseException e) {
    e.printStackTrace();
}

if (date != null) {
    String formattedDate = writeFormat.format(date);
}

5
Ich kann 2:46 PM nicht mit diesem Code in 14:46 konvertieren. Vermisse ich etwas
Pvarma

@ user1930402 Sie können dies tun, indem Sie Ihr Leseformat auf ändern hh:mm a- Ihre Eingabe ignoriert die Sekunden (ist eine Vermutung).
Dhruv Ghulati

1
Wenn wir aa im Format haben, stellen Sie sicher, dass hh ein kleiner Fall ist, sonst sollte es in der Hauptstadt sein
Narsireddy

1
Sehr klein und schwer zu identifizieren, wenn Sie das Muster des Datumsformats nicht kennen. Für mich ist es nur eine Änderung hhan HHund Problem gelöst!
S_K

183

H vs h ist der Unterschied zwischen dem 24-Stunden- und dem 12-Stunden-Format.


1
Tagesretter. Vielen Dank.
Farooq Arshed

2
Vielen Dank für die einfache Antwort. Kein Code-Snippet erforderlich
Aianitro

1
Für Neuling: DateFormat format = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
AlexS

Genius. Vielen Dank!
Giedrius Šlikas

96
kk = Hours in 1-24 format
hh= hours in 1-12 format
KK= hours in 0-11 format
HH= hours in 0-23 format

11

Versuche dies:

Date date=new Date("12/12/11 8:22:09 PM");    
System.out.println("Time in 24Hours ="+new SimpleDateFormat("HH:mm").format(date));


4

Ich nehme ein Beispiel für das unten angegebene Datum und drucke zwei verschiedene Datumsformate entsprechend Ihren Anforderungen.

String date="01/10/2014 05:54:00 PM";

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa",Locale.getDefault());

try {
            Log.i("",""+new SimpleDateFormat("ddMMyyyyHHmmss",Locale.getDefault()).format(simpleDateFormat.parse(date)));

            Log.i("",""+new SimpleDateFormat("dd/MM/yyyy HH:mm:ss",Locale.getDefault()).format(simpleDateFormat.parse(date)));

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

Wenn Sie noch Fragen haben, antworten Sie bitte. Vielen Dank.


2
import java.text.SimpleDateFormat;

import java.util.Date;

public class DateFormatExample {

public static void main(String args[]) {

    // This is how to get today's date in Java
    Date today = new Date();

    //If you print Date, you will get un formatted output
    System.out.println("Today is : " + today);

    //formatting date in Java using SimpleDateFormat
    SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy");
    String date = DATE_FORMAT.format(today);
    System.out.println("Today in dd-MM-yyyy format : " + date);

    //Another Example of formatting Date in Java using SimpleDateFormat
    DATE_FORMAT = new SimpleDateFormat("dd/MM/yy");
    date = DATE_FORMAT.format(today);
    System.out.println("Today in dd/MM/yy pattern : " + date);

    //formatting Date with time information
    DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS");
    date = DATE_FORMAT.format(today);
    System.out.println("Today in dd-MM-yy:HH:mm:SS : " + date);

    //SimpleDateFormat example - Date with timezone information
    DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z");
    date = DATE_FORMAT.format(today);
    System.out.println("Today in dd-MM-yy:HH:mm:SSZ : " + date);

} 

}

Ausgabe:

Heute ist: Fr 02 Nov 16:11:27 IST 2012

Heute im TT-MM-JJJJ-Format: 02-11-2012

Heute im TT / MM / JJ-Muster: 11.02.12

Heute in TT-MM-JJ: HH: mm: SS: 02-11-12: 16: 11: 316

Heute in TT-MM-JJ: HH: mm: SSZ: 02-11-12: 16: 11: 316 +0530


2

IN zwei Zeilen:

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("hh:mm aa",Locale.getDefault());
        FAJR = new SimpleDateFormat("HH:mm",Locale.getDefault()).format(simpleDateFormat.parse("8:35 PM");

2
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date date = new Date();
    Date date2 = new Date("2014/08/06 15:59:48");

    String currentDate = dateFormat.format(date).toString();
    String anyDate = dateFormat.format(date2).toString();

    System.out.println(currentDate);
    System.out.println(anyDate);

1

Nur ein Tipp,

Versuchen Sie, JodaTime anstelle von Java zu verwenden. util.Date ist viel leistungsfähiger und hat eine Methode toString (""), mit der Sie das gewünschte Format an String übergeben können ("yyy-MM-dd HH: mm: ss"). ;;

http://joda-time.sourceforge.net/


1

Mit Kalender funktioniert es wie folgt:

    //create first Calendar object
    Calendar calendar = Calendar.getInstance();

    calendar.set(Calendar.HOUR_OF_DAY, 15); // 3 PM
    // the same is
    calendar.set(Calendar.AM_PM, Calendar.PM); // choose PM mode
    calendar.set(Calendar.HOUR, 3); // 3 PM

    System.out.println( calendar.get(Calendar.HOUR) ); // AM_PM format
    System.out.println( calendar.get(Calendar.HOUR_OF_DAY) ); // 0-23 format

0

Dies ist eine Methode, die JODA verwendet.

Eingabebeispiel ist 07/20/2015 01:46:34.436 AM

public static String get24HourFormat(String dateString){
        Date date = new Date();
        DateTime date1=new DateTime();

        //  String date="";
        int hour=0;
        //int year=0;
        if(dateString!=null){

            try {
                DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy hh:mm:ss.SSS aa");
                DateTimeFormatter output = DateTimeFormat.forPattern("kk");

                date1=formatter.parseDateTime(dateString);
                hour=date1.getHourOfDay();
                System.out.println(output.print(date1));
                //  System.out.println(date);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return hour+"";
    }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.