如何从今天的日期减去x天的天数
我需要计算90天,120天和160天的几个项目。我将如何编码? 我一直在查找java代码,但是当我为android开发时会引发错误。如何从今天的日期减去x天的天数
我需要采取今天的日期,减去x的天数,并让它的结果显示在屏幕上没有别的。由于
您应该使用Calendar
类:
//Calendar set to the current date
Calendar calendar=Calendar.getInstance();
//rollback 90 days
calendar.add(Calendar.DAY_OF_YEAR, -90);
//now the date is 90 days back
Log.i("MyApp","90 days ago:"+calendar.getTime().toString());
roll()正在添加到字段中,而不是减量。但这是不正确的,因为它不会改变更大的领域。请参阅http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html – nagylzs 2012-11-08 12:38:06
你是对的。谢谢。将更新我的答案 – 2012-11-08 13:31:08
使用日历对象...
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -90); //etc
您应该能够使用Calendar
类来实现你想要什么:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html。
然后,您可以使用当前日期.add(Calendar.DAY_OF_YEAR, -90);
等调用您的日历对象。
TL;博士
LocalDate.now(ZoneId.of("America/Montreal"))
.minusDays(90)
java.time
其他的答案在这里已经过时。现代的方式是使用java.time类。
LocalDate
的LocalDate
类表示没有时间一天和不同时区的日期,唯一的价值。
时区对确定日期至关重要。对于任何特定的时刻,日期因地区而异。例如,Paris France午夜后几分钟是新的一天,而在Montréal Québec仍然是“昨天”。
ZoneId z = ZoneId.of("America/Montreal") ;
LocalDate today = LocalDate.now(z) ;
然后,您可以添加或减去天数。
LocalDate ago090 = today.minusDays(90) ;
LocalDate ago120 = today.minusDays(120) ;
LocalDate ago160 = today.minusDays(160) ;
要产生YYYY-MM-DD的标准ISO 8601格式的字符串,调用toString
。对于其他格式,请在DateTimeFormatter
类中搜索Stack Overflow以查看许多示例和讨论。
String output = ago120.toString() ;
关于java.time
的java.time框架是建立在Java 8和更高版本。这些类取代了日期时间类legacy,如java.util.Date
,Calendar
,& SimpleDateFormat
。
Joda-Time项目现在位于maintenance mode,建议迁移到java.time。请参阅Oracle Tutorial。并搜索堆栈溢出了很多例子和解释。规格是JSR 310。
从何处获取java.time类?
-
Java SE 8和SE 9后来
- 内置。
- 带捆绑实现的标准Java API的一部分。
- Java 9增加了一些次要功能和修复。在ThreeTen-Backport
-
Java SE 6和SE 7
- 大部分的java.time功能后移植到Java 6 & 7。
-
Android
- 的ThreeTenABP项目适应ThreeTen-反向移植(上述)为Android特异性。
- 请参阅How to use…。
的ThreeTen-Extra项目与其他类扩展java.time。这个项目是未来可能增加java.time的一个试验场。您可以在这里找到一些有用的类,如Interval
,YearWeek
,YearQuarter
和more。
你能更具体地了解产生它们的错误和代码吗? – ObscureRobot 2012-01-04 14:22:19
[如何从使用Java日历的日期中减去X天?](http://stackoverflow.com/questions/212321/how-to-subtract-x-days-from-a-date-using-java -calendar) – 2015-05-27 07:08:00