13 Stimmen

Nur das Datum des Zeitstempels abrufen

Dies ist meine unten Funktion, in der ich Zeitstempel übergeben, ich brauche nur das Datum in Rückkehr aus dem Zeitstempel nicht die Stunden und Sekunden. Mit dem folgenden Code erhalte ich-

private String toDate(long timestamp) {
        Date date = new Date (timestamp * 1000);
        return DateFormat.getInstance().format(date).toString();
}

Dies ist die Ausgabe, die ich erhalte.

11/4/01 11:27 PM

Ich benötige aber nur das Datum wie folgt

2001-11-04

Irgendwelche Vorschläge?

21voto

s106mo Punkte 1233

Verwenden Sie stattdessen SimpleDateFormat:

private String toDate(long timestamp) {
    Date date = new Date(timestamp * 1000);
    return new SimpleDateFormat("yyyy-MM-dd").format(date);
}

Aktualisiert : Java 8 Lösung:

private String toDate(long timestamp) {
    LocalDate date = Instant.ofEpochMilli(timestamp * 1000).atZone(ZoneId.systemDefault()).toLocalDate();
    return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}

2voto

garima Punkte 21

Sie können diesen Code verwenden, um die gewünschten Ergebnisse zu erhalten

protected Timestamp timestamp = new Timestamp(Calendar.getInstance().getTimeInMillis());

protected String today_Date=timestamp.toString().split(" ")[0];

1voto

Arvind Kumar Avinash Punkte 62339

java.time

Die java.util Date-Time API und ihre Formatierungs-API, SimpleDateFormat sind veraltet und fehleranfällig. Es wird empfohlen, sie nicht mehr zu verwenden und auf die moderne Date-Time-API * .

Im Folgenden wird eine Mitteilung der Homepage von Joda-Time :

Beachten Sie, dass ab Java SE 8 die Benutzer aufgefordert werden, auf java.time (JSR-310) zu migrieren - ein Kernbestandteil des JDK, der dieses Projekt ersetzt.

Lösung mit java.time die moderne Date-Time API:

Sie können verwenden Instant#ofEpochSecond um eine Instant aus dem gegebenen timestamp und verwenden Sie dann LocalDate.ofInstant um eine LocalDate aus dem Erlangten Instant .

Demo:

import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;

public class Main {
    public static void main(String[] args) {
        // Test
        System.out.println(toDate(1636120105L));
    }

    static LocalDate toDate(long timestamp) {
        return LocalDate.ofInstant(Instant.ofEpochSecond(timestamp), ZoneId.systemDefault());
    }
}

Ausgabe:

2021-11-05

ONLINE DEMO

Erfahren Sie mehr über die moderne Date-Time API von Pfad: Datum Uhrzeit . Siehe diese Antwort y diese Antwort um zu lernen, wie man java.time API mit JDBC.


* Wenn Sie an einem Android-Projekt arbeiten und Ihr Android-API-Level noch nicht mit Java-8 übereinstimmt, überprüfen Sie Java 8+ APIs verfügbar durch Desugaring . Beachten Sie, dass Android 8.0 Oreo bereits Folgendes bietet Unterstützung für java.time .

0voto

Basil Bourque Punkte 256611

Joda-Time

Die Joda-Time Bibliothek bietet eine LocalDate um einen reinen Datumswert ohne Tageszeit und Zeitzone darzustellen.

Zeitzone

Die Bestimmung eines Datums erfordert eine Zeitzone . Ein Zeitpunkt kurz nach Mitternacht in Paris bedeutet ein Datum, das dem gleichen Zeitpunkt in Montréal einen Tag voraus ist. Wenn Sie es versäumen, eine Zeitzone anzugeben, wird die aktuelle Standardzeitzone der JVM verwendet - wahrscheinlich nicht das, was Sie wollen, da die Ergebnisse variieren können.

Beispiel Code

long millisecondsSinceUnixEpoch = ( yourNumberOfSecondsSinceUnixEpoch * 1000 ); // Convert seconds to milliseconds.
DateTimeZone timeZone = DateTimeZone.forID( "America/Montreal" );
LocalDate localDate = new LocalDate( millisecondsSinceUnixEpoch, timeZone );
String output = localDate.toString(); // Defaults to ISO 8601 standard format, YYYY-MM-DD.

Vorheriger Tag

Wie in einem Kommentar gewünscht, am Vortag zu erhalten.

LocalDate dayBefore = localDate.minusDays( 1 );

Umrechnen in j.u.Date

Die Klassen java.util.Date & .Calendar sollte vermieden werden da sie notorisch lästig sind. Aber bei Bedarf können Sie umsteigen.

java.util.Date date = localDate.toDate(); // Time-of-day set to earliest valid for that date.

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