464 Stimmen

java.util.Date in String umwandeln

Ich möchte eine java.util.Date Objekt zu einem String in Java.

Das Format ist 2010-05-30 22:15:52

2 Stimmen

0 Stimmen

@harschware FYI, die Joda-Time Projekt ist jetzt in Wartungsmodus Das Team rät zur Migration auf den java.time Klassen. Siehe Anleitung von Oracle .

1 Stimmen

Ich empfehle Ihnen, nicht zu verwenden und Date im Jahr 2019. Diese Klasse ist schlecht konzipiert und längst überholt. Verwenden Sie stattdessen Instant oder eine andere Klasse aus java.time, die moderne Java-API für Datum und Uhrzeit .

9voto

dbow Punkte 618

Warum verwenden Sie nicht Joda (org.joda.time.DateTime)? Es ist im Grunde ein Einzeiler.

Date currentDate = GregorianCalendar.getInstance().getTime();
String output = new DateTime( currentDate ).toString("yyyy-MM-dd HH:mm:ss");

// output: 2014-11-14 14:05:09

0 Stimmen

Ich schlage vor, auch eine DateTimeZone zu übergeben, anstatt die aktuelle Standardzeitzone der JVM an die DateTime Objekt. new DateTime( currentDate , DateTimeZone.forID( "America/Montreal" ) )

7voto

Chanaka Fernando Punkte 2008

In einer einzigen Aufnahme ;)

So erhalten Sie das Datum

String date = new SimpleDateFormat("yyyy-MM-dd",   Locale.getDefault()).format(new Date());

So erhalten Sie die Zeit

String time = new SimpleDateFormat("hh:mm", Locale.getDefault()).format(new Date());

So erhalten Sie das Datum und die Uhrzeit

String dateTime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.getDefaut()).format(new Date());

Viel Spaß beim Codieren :)

3 Stimmen

Zu Ihrer Information: Die lästigen alten Datum-Zeit-Klassen wie java.util.Date , java.util.Calendar y java.text.SimpleDateFormat sind jetzt Erbe , ersetzt durch die java.time Klassen, die in Java 8 und Java 9 integriert sind, siehe Anleitung von Oracle .

7voto

pickypg Punkte 21488

Es sieht so aus, als suchten Sie SimpleDateFormat .

Format: jjjj-MM-tt kk:mm:ss

0 Stimmen

Hat das "kk" eine besondere Funktion? Ich glaube, Eric will es in 24 Stunden haben.

2 Stimmen

Ja, die Stunde am Tag (1-24), aber das ist wahrscheinlich nicht das, was der OP braucht. HH (0-23) häufiger vorkommt.

1 Stimmen

@Cahrlie Salts kk geht von 1-24, während HH von 0-23 geht, und es war wahrscheinlich etwas vermessen von mir anzunehmen, dass er 1-24 wollte @BalusC Das DateFormat-Objekt parst und formatiert.

5voto

Ashish Tiwari Punkte 49
public static String formateDate(String dateString) {
    Date date;
    String formattedDate = "";
    try {
        date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss",Locale.getDefault()).parse(dateString);
        formattedDate = new SimpleDateFormat("dd/MM/yyyy",Locale.getDefault()).format(date);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return formattedDate;
}

5voto

Vadzim Punkte 22887

Hier sind Beispiele für die Verwendung neuer Java 8 Zeit-API zu formatieren Erbe java.util.Date :

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z")
        .withZone(ZoneOffset.UTC);
    String utcFormatted = formatter.format(date.toInstant()); 

    ZonedDateTime utcDatetime = date.toInstant().atZone(ZoneOffset.UTC);
    String utcFormatted2 = utcDatetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS Z"));
    // gives the same as above

    ZonedDateTime localDatetime = date.toInstant().atZone(ZoneId.systemDefault());
    String localFormatted = localDatetime.format(DateTimeFormatter.ISO_ZONED_DATE_TIME);
    // 2011-12-03T10:15:30+01:00[Europe/Paris]

    String nowFormatted = LocalDateTime.now().toString(); // 2007-12-03T10:15:30.123

Es ist schön über DateTimeFormatter dass sie effizient zwischengespeichert werden kann, da sie thread-sicher ist (im Gegensatz zu SimpleDateFormat ).

Liste der vordefinierten Fomatters und Verweis auf die Musternotation .

Credits:

Wie kann man Daten mit LocalDateTime parsen/formatieren? (Java 8)

Java8 java.util.Date Umwandlung in java.time.ZonedDateTime

Format Instant to String

Was ist der Unterschied zwischen java 8 ZonedDateTime und OffsetDateTime?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X