Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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_Date - Fatal编程技术网

什么';用Java表示时间段的最佳方式是什么?

什么';用Java表示时间段的最佳方式是什么?,java,date,Java,Date,用Java表示时间段的最佳方式是什么?我可以使用2个日期对象吗?还是有更好的方法 也就是说,整个4月,7月的第三周,从1月到3月等等。解决了所有的日期/时间问题。它有一个数据范围类型。在谈到time+Java时,这里是到Joda的常用链接: 编辑:如果我了解您的需求,此特定问题的相关链接为。您可以简单地使用两个时间戳。备选时间戳和周期时间 如果需要使用两个不同的日期,请使用两个不同的日期并使用SimpleDataFormat。它使用起来非常简单 SimpleDateFormat format

用Java表示时间段的最佳方式是什么?我可以使用2个日期对象吗?还是有更好的方法


也就是说,整个4月,7月的第三周,从1月到3月等等。

解决了所有的日期/时间问题。它有一个数据范围类型。

在谈到time+Java时,这里是到Joda的常用链接:


编辑:如果我了解您的需求,此特定问题的相关链接为

。您可以简单地使用两个时间戳。备选时间戳和周期时间

如果需要使用两个不同的日期,请使用两个不同的日期并使用SimpleDataFormat。它使用起来非常简单

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.parse(new Date());

如果出于某种原因您不想使用Joda,那么编写一个封装一对日期(或底层长值)的类就可以了,但是您需要编写比较范围或确定日期是否在某个范围内等所需的任何方法。

我发现答案相当陈旧

Java8
开始,我们可以使用本机
Java.Time
,它部分基于
Joda Time
,使得日期的操作非常简单

查看上的
Period
Duration
LocalDate


你的意思是什么?比如2011-04-01到2011-07-09?@RMT这正是我的意思Hanks Waldheinz,我想我没有正确解释自己,我看了Joda(不知道),发现了Interval类,它代表了我的需要。对不起,我在挖掘链接时有点懒。更新了这个。@Waldheinz,我知道Joda很棒,而且一切都很好,但是这个建议看起来不是有点“过头”吗?使用标准Java库有什么问题?@mre标准Java类没有什么问题,但我认为它总是有一个糟糕的API(它的许多方法今天都被弃用)。所以我推荐Joda,当您的应用程序增长时,您会很高兴开始使用它。但这真的是一种口味。@Waldheinz,我宁愿不使用第三方库,除非我必须使用。:)您知道如何将长值转换为更有用的信息吗,如两个日期之间的天数等?我建议您阅读JodaTime源代码!根据您的定义,天数取决于时区,因此计算起来一点也不简单。但是,Joda Time的
间隔
比使用新的Java 8对象更具表现力。。。没有什么能与之相比。你必须使用2个时态对象(就像我们过去做的那样)或者一个开始日期和一个句点。。。不可能