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

Sujiz
quelle

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);
}
Mark Allison
quelle
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.

lwpro2
quelle
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
Savas Adar
quelle
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));
Jaadu
quelle
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.

droidd
quelle
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

Nilesh Jadav
quelle
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");
Meduvigo
quelle
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);
Anahit Serobyan
quelle
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/

Fredcrs
quelle
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
Andreas L.
quelle
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+"";
    }
pvarma
quelle