2015-06-19 7 views

Antwort

7

Einfach 31 Tage subtrahieren. Zum Beispiel:

LocalDate current = new LocalDate(2015, 6, 19); 
LocalDate x = current.minusDays(31); // 2015-05-19 

Um das aktuelle Datum zu erhalten, könnten Sie verwenden:

LocalDate current = new LocalDate(); // Default time zone 

oder

LocalDate current = new LocalDate(zone); // Some specific zone 

Oder Sie können Ihre eigene "Uhr" wollen Darstellung schaffen, ist in der Lage, Ihnen die aktuelle Instant zu geben, in diesem Fall würden Sie verwenden:

LocalDate current = clock.getCurrentInstant().toDateTime(zone).toLocalDate(); 

(Das können Sie Dependency Injection verwenden, um einfachere Unit-Tests mit einer gefälschten Uhr zu schreiben.)

+0

Danke Jon Skeet! –

3

Sie können dies versuchen:

LocalDate current = new LocalDate();//Constructs an instance set to the current local time evaluated using ISO chronology in the default zone. 
LocalDate x = current.minusDays(31); 

Oder sonst können Sie versuchen:

LocalDate current = LocalDate.now();//Obtains a LocalDate set to the current system millisecond time using ISOChronology in the default time zone 
LocalDate x = current.minusDays(31); 
+0

Danke Krishanthy Mohanachandran! –

1

Sie können JODA API verwenden, wenn Sie möchten, ist es sehr fortschrittliche und nützliche Funktionen:

String DATE_PATTERN = "dd/MM/yyyy"; 
DateTimeFormatter formatter = DateTimeFormat.forPattern(DATE_PATTERN); 
String systemDate = formatter.print(DateTime.now()); 
System.out.println("Current Date : " + systemDate); 
String newDate = formatter.print(DateTime.now().minusDays(31)); 
System.out.println("Date 31 days ago : " + newDate); 

Ausgang: Aktuelles Datum: 19/06/2015

vor 31 Tagen Datum: 19/05/2015