为什么使用Android Java会在一个月的某一天出错?
今天的日期是2011年10月24日 但是使用这个代码为什么使用Android Java会在一个月的某一天出错?,java,android,date,Java,Android,Date,今天的日期是2011年10月24日 但是使用这个代码 Calendar currentDate = Calendar.getInstance(); int d = currentDate.DAY_OF_MONTH; 给我日期5 另外,emulator settings中的日期是2011年10月24日 currentDate.DAY_OF_MONTH; 是在Calendar类内部使用的常量。要获取月的当前日期,请使用 使用 更新: 如何将当前日期移动6天,并获取新的日期和月份值?
Calendar currentDate = Calendar.getInstance();
int d = currentDate.DAY_OF_MONTH;
给我日期5
另外,emulator settings中的日期是2011年10月24日
currentDate.DAY_OF_MONTH;
是在Calendar类内部使用的常量。要获取月的当前日期,请使用
使用
更新:
如何将当前日期移动6天,并获取新的日期和月份值?
//增加6天
currentDate.add(Calendar.DATE,6)
DAY\u OF\u MONTH
字段是一个常量整数。使用方法get
:
currentDate.get(Calendar.DAY_OF_MONTH);
例如,您可以使用以下方法添加6天:
currentDate.add(Calendar.DAY_OF_MONTH, 6);
另请参见。ZoneDateTime
实现这一点的现代方法是使用java.time类
A表示时间线上分辨率为纳秒的一个时刻
ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = ZonedDateTime.now( z );
int dayOfMonth = zdt.getDayOfMonth();
关于java.time
该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,如java.util.date
,.Calendar
,&java.text.SimpleDateFormat
该项目现已启动,建议迁移到java.time
要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释
大部分java.time功能都在中向后移植到java 6和7,并进一步适应于中(请参阅)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,例如
Interval
,YearWeek
,YearQuarter
,等等。是的,您总是得到5:)公共最终静态int DAY\u OF\u MONTH=5;就这样。谢谢,我很快会接受你的问题,另一个问题是如何将当前日期转换为6天,并获得新的日期和月份值?
currentDate.add(Calendar.DAY_OF_MONTH, 6);
ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = ZonedDateTime.now( z );
int dayOfMonth = zdt.getDayOfMonth();