Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日历问题_Java_Algorithm_Oracle_Calendar - Fatal编程技术网

Java日历问题

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

我做了一个计算天数的小程序。从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.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正确。各位-请看巴兹尔的答案,我正在投票表决,它应该上升到顶部。感谢你的答案,即使在很长时间后,但给了我很好的把握。感谢你的答案,即使在很长时间后,但给了我很好的把握。