如何在x
之前31天获得current_date
?
x(date)___________________________current_date
31
答案 0 :(得分:9)
只需减去31天。例如:
LocalDate current = new LocalDate(2015, 6, 19);
LocalDate x = current.minusDays(31); // 2015-05-19
要获取当前日期,您可以使用:
LocalDate current = new LocalDate(); // Default time zone
或
LocalDate current = new LocalDate(zone); // Some specific zone
或者您可能想要创建自己的"时钟"表示能够为您提供当前Instant
,在这种情况下您可以使用:
LocalDate current = clock.getCurrentInstant().toDateTime(zone).toLocalDate();
(这允许您使用依赖注入来编写带有假时钟的更简单的单元测试。)
答案 1 :(得分:4)
你可以试试这个:
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);
或者您可以尝试:
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);
答案 2 :(得分:1)
如果需要,您可以使用JODA API,它具有非常先进和实用的功能:
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);
输出: 现在日期:2015年6月19日
日期31天前:2015年5月19日