Java日历问题
我做了一个计算天数的小程序。从5月22日算起150天。但结果是10月18日。实际日期是10月19日。谁能帮我找到我的代码有什么问题吗 您只需使用日历的添加功能即可 将打印Java日历问题,java,algorithm,oracle,calendar,Java,Algorithm,Oracle,Calendar,我做了一个计算天数的小程序。从5月22日算起150天。但结果是10月18日。实际日期是10月19日。谁能帮我找到我的代码有什么问题吗 您只需使用日历的添加功能即可 将打印 Sat Oct 19 00:00:00 IST 2013 但代码的真正问题是,您首先递增计数器,然后与150进行比较 这样做,它应该可以修复您的代码 if(counter == 150){ System.out.println("i "+i+" counter "+ counter +date:"+mine.getDi
Sat Oct 19 00:00:00 IST 2013
但代码的真正问题是,您首先递增计数器,然后与150进行比较
这样做,它应该可以修复您的代码
if(counter == 150){
System.out.println("i "+i+" counter "+ counter +date:"+mine.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH));
break;
}
counter++;
您只需使用日历的添加功能即可
将打印
Sat Oct 19 00:00:00 IST 2013
但代码的真正问题是,您首先递增计数器,然后与150进行比较
这样做,它应该可以修复您的代码
if(counter == 150){
System.out.println("i "+i+" counter "+ counter +date:"+mine.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH));
break;
}
counter++;
或者您可以使用Joda DateTime:
import org.joda.time.DateTime;
....
System.out.println(new DateTime("2013-05-22").plusDays(150));
或者您可以使用Joda DateTime:
import org.joda.time.DateTime;
....
System.out.println(new DateTime("2013-05-22").plusDays(150));
tl;博士
使用java.time
在现代课堂上要容易得多
该类表示一个仅限日期的值,不包含一天中的时间和时区
提供了十几个预定义对象,一年中每个月一个
LocalDate ld = LocalDate.of( 2013, Month.MAY, 22 ) ;
LocalDate later = ld.plusDays( 150 );
看
2013-10-19
关于java.time
该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&
该项目现已启动,建议迁移到类
要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是
从哪里获得java.time类
后来
内置的。
标准JavaAPI的一部分,带有捆绑实现。
Java9添加了一些次要功能和修复。
和
大部分java.time功能都在中向后移植到Java6和Java7。
该项目特别针对Android采用了上述Three-Ten Backport。
看见
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,如、、和。tl;博士
使用java.time
在现代课堂上要容易得多
该类表示一个仅限日期的值,不包含一天中的时间和时区
提供了十几个预定义对象,一年中每个月一个
LocalDate ld = LocalDate.of( 2013, Month.MAY, 22 ) ;
LocalDate later = ld.plusDays( 150 );
看
2013-10-19
关于java.time
该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&
该项目现已启动,建议迁移到类
要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是
从哪里获得java.time类
后来
内置的。
标准JavaAPI的一部分,带有捆绑实现。
Java9添加了一些次要功能和修复。
和
大部分java.time功能都在中向后移植到Java6和Java7。
该项目特别针对Android采用了上述Three-Ten Backport。
看见
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,如、、和。除非您必须使用日历,否则最好使用哦,我认为日历是我唯一的选择。谢谢我应该试试Joda Time。Joda Time会更好地考虑闰年和闰秒以及世纪边界周围的奇异性……除非你绝对必须使用日历,否则最好使用日历。哦,我认为日历是我唯一的选择。谢谢我应该试试Joda Time。Joda Time会更好地考虑闰年和闰秒以及世纪边界周围的奇异性……哇。。。stackoverflow.com/users/991778/sanbhat>谢谢。我错过了这一点真是太傻了。感谢sanbhat、、vikingsteve、、MadProgrammer提供的宝贵帮助。仅供参考,像、、和java.text.SimpleTextFormat这样麻烦的旧日期时间类现在被这些类取代了。哇。。。stackoverflow.com/users/991778/sanbhat>谢谢。太傻了,我错过了。感谢sanbhat、、vikingsteve、、MadProgrammer提供的宝贵帮助。仅供参考,像、和java.text.SimpleTextFormat这样麻烦的旧日期时间类现在被类取代了。仅供参考,项目现在开始了,团队建议迁移到这些类。@BasilBourque correct。每个人-请看Basil的答案,我正在投票,它应该会上升到顶部。仅供参考,项目现在开始,团队建议迁移到课堂上。@BasilBourque正确。各位-请看巴兹尔的答案,我正在投票表决,它应该上升到顶部。感谢你的答案,即使在很长时间后,但给了我很好的把握。感谢你的答案,即使在很长时间后,但给了我很好的把握。