Android 如何从今天的日期中减去x天数

Android 如何从今天的日期中减去x天数,android,Android,我需要倒数90天,120天和160天的一些项目。我将如何编写此代码? 我一直在寻找java代码,但在为android开发时会出现错误 我需要取今天的日期,减去x天的天数,然后将结果显示在屏幕上。谢谢您应该使用该课程: 使用日历对象 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -90); //etc 您应该能够使用日历类来实现您想要的: 然后可以使用当前日期.add(calendar.DAY\u

我需要倒数90天,120天和160天的一些项目。我将如何编写此代码? 我一直在寻找java代码,但在为android开发时会出现错误

我需要取今天的日期,减去x天的天数,然后将结果显示在屏幕上。谢谢

您应该使用该课程:


使用日历对象

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -90); //etc

您应该能够使用
日历
类来实现您想要的:

然后可以使用当前日期
.add(calendar.DAY\u OF\u YEAR,-90)调用日历对象等等。

tl;博士 java.time 这里的其他答案已经过时了。现代的方法是使用java.time类

LocalDate
该类表示一个仅限日期的值,不包含一天中的时间和时区

时区对于确定日期至关重要。在任何一个特定的时刻,世界各地的日期都因地区而异。例如,中午夜后几分钟是新的一天,而中仍然是“昨天”

然后你可以加减天数

LocalDate ago090 = today.minusDays( 90 ) ;
LocalDate ago120 = today.minusDays( 120 ) ;
LocalDate ago160 = today.minusDays( 160 ) ;
要生成YYYY-MM-DD标准ISO 8601格式的字符串,请调用
toString
。对于其他格式,请在堆栈溢出中搜索
DateTimeFormatter
类,以查看许多示例和讨论

String output = ago120.toString() ;

关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到java.time

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门针对Android采用了Three Ten Backport(如上所述)

该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,如、、和。

您能更具体地说明错误以及产生错误的代码吗?roll()的可能重复项是添加到字段,而不是减法。但这是不正确的,因为它不会改变较大的字段。看见
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 ) ;
String output = ago120.toString() ;