如何在Java中获取特定日期对象的年中日期?

如何在Java中获取特定日期对象的年中日期?,java,date,calendar,Java,Date,Calendar,假设您有一个日期对象,其值为日、月和年 我想知道今天是哪一天 我的意思是,比如说,3月5日是一年中的65日。 或者说一月十五号是十五号 请不要再浪费时间了。未在当前项目中使用 您可以使用java提供的。使用get方法,您可以得到您想要的 Calendar#get(Calendar.DAY_OF_YEAR); 例:- tl;博士 细节 日历类的其他答案已经过时。现在,诸如、和java.text.SimpleTextFormat等麻烦的旧日期时间类已被这些类取代 使用java.time 该类表示一

假设您有一个日期对象,其值为日、月和年

我想知道今天是哪一天

我的意思是,比如说,3月5日是一年中的65日。 或者说一月十五号是十五号

请不要再浪费时间了。未在当前项目中使用

您可以使用java提供的。使用get方法,您可以得到您想要的

Calendar#get(Calendar.DAY_OF_YEAR);
例:-

tl;博士 细节 日历类的其他答案已经过时。现在,诸如、和java.text.SimpleTextFormat等麻烦的旧日期时间类已被这些类取代

使用java.time 该类表示一个仅限日期的值,不包含一天中的时间和时区

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

以大陆/地区的格式指定,例如,或太平洋/奥克兰。切勿使用3-4个字母的缩写,如EST或IST,因为它们不是真正的时区,不标准,甚至不是唯一的

ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z );
2017-01-23

我们可以问一年中的哪一天,1-366

int dayOfYear = today.getDayOfYear() ;
二十三

我们可以将LocalDate调整为一年中的特定日期

LocalDate ld = today.withDayOfYear( 187 ) ;
2017-07-06

看这个

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

该项目现已启动,建议迁移到类

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

从哪里获得java.time类

,及以后 内置的。 标准JavaAPI的一部分,带有捆绑实现。 Java9添加了一些次要功能和修复。 和 大部分java.time功能都在中向后移植到Java6和Java7。 该项目特别针对Android采用了上述Three-Ten Backport。 看见
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可能会在这里找到一些有用的类,例如、、和。

使用java文档语法对于非java语言来说很容易混淆developers@StanislavLevental你说得对,但这里有一个点。可能会产生误导,因为get不是静态的,而是一个实例方法。@StanislavLevental,这是Java的问题。可能大多数阅读本文的人都是Java开发人员。
int dayOfYear = today.getDayOfYear() ;
LocalDate ld = today.withDayOfYear( 187 ) ;