web-dev-qa-db-de.com

Holen Sie sich das gestrige Datum mit Datum

Die folgende Funktion erzeugt das heutige Datum. wie kann ich es schaffen, nur das Datum von gestern zu produzieren?

private String toDate() {
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date date = new Date();    
        return dateFormat.format(date).toString();
}

Dies ist die Ausgabe:

2012-07-10

Ich brauche nur das gestrige Datum wie unten. Kann ich das in meiner Funktion machen?

2012-07-09
108
AKIWEB

Sie subtrahieren die falsche Zahl:

Verwenden Sie stattdessen Calendar:

private Date yesterday() {
    final Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, -1);
    return cal.getTime();
}

Ändern Sie anschließend Ihre Methode wie folgt:

private String getYesterdayDateString() {
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        return dateFormat.format(yesterday());
}

Siehe

290
Jigar Joshi

Sie können Folgendes tun:

private Date getMeYesterday(){
     return new Date(System.currentTimeMillis()-24*60*60*1000);
}

Hinweis: Wenn Sie ein weiteres Rückwärtsdatum wünschen, multiplizieren Sie die Anzahl der Tage mit 24 * 60 * 60 * 1000, zum Beispiel:

private Date getPreviousWeekDate(){
     return new Date(System.currentTimeMillis()-7*24*60*60*1000);
}

In ähnlicher Weise können Sie ein zukünftiges Datum erhalten, indem Sie den Wert zu System.currentTimeMillis () hinzufügen. Beispiel:

private Date getMeTomorrow(){
     return new Date(System.currentTimeMillis()+24*60*60*1000);
}
44
Ankit Chaudhary
   Calendar cal = Calendar.getInstance();
   DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
   System.out.println("Today's date is "+dateFormat.format(cal.getTime()));

   cal.add(Calendar.DATE, -1);
   System.out.println("Yesterday's date was "+dateFormat.format(cal.getTime()));  

Verwenden Sie die Kalender-API

8
swapy

Probier diese:

private String toDate() {
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

    // Create a calendar object with today date. Calendar is in Java.util pakage.
    Calendar calendar = Calendar.getInstance();

    // Move calendar to yesterday
    calendar.add(Calendar.DATE, -1);

    // Get current date of calendar which point to the yesterday now
    Date yesterday = calendar.getTime();

    return dateFormat.format(yesterday).toString();
}
6
Meisam

Versuche dies;

   public String toDate() {
       DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
       Calendar cal = Calendar.getInstance();
       cal.add(Calendar.DATE, -1);
       return dateFormat.format(cal.getTime());
  }

Es gibt keine direkte Funktion zum Abrufen des gestrigen Datums.

Um das gestrige Datum zu erhalten, müssen Sie Calendar durch Subtrahieren von -1 Verwenden.

2
Siva Charan

geändert von Ihrem Code:

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

}

aber du machst es besser mit Kalender .

2
Jason
Calendar cal = Calendar.getInstance();
   DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
   System.out.println("Today's date is "+dateFormat.format(cal.getTime()));

   cal.add(Calendar.DATE, -1);
   System.out.println("Yesterday's date was "+dateFormat.format(cal.getTime())); 
1
sreehari