在java中查找当前日期和后天的日期

时间:2017-04-14 06:46:06

标签: java-date

如何在java中查找当前日期。我找到了很多,但每次我得到同样的命令 日期d =新日期();或类似的东西 每个这样的命令都会返回1970年的日期。 我不明白,这个获得1970年日期的好处是什么? 有什么方法可以让我获得当前时间并在其中添加第二个。 我的真正目的是将长值转换为日期并在其中添加第二个值。 添加一秒后5:40:12应该给我5:40:13。 任何帮助都会受到赞赏,因为我厌倦了1970年的约会。

2 个答案:

答案 0 :(得分:1)

  

我的真正目的是将长值转换为日期并在其中添加第二个值。 5:40:12在添加第二个

之后应该给我5:40:13

麻烦的java.util.Date类现在已经遗留下来,取而代之的是java.time类。

Instant.ofEpochMilli( yourLongIntegerGoesHere )  // A moment on the timeline in UTC represented a count of nanoseconds since the epoch of `1970-01-01T00:00:00Z`.
       .atZone( ZoneId.of( "Pacific/Auckland" )  // Time zone for the region whose wall-clock time you want to see.
       .plusSeconds( 1 )
       .toLocalTime()                            // Extract just the time-of-day without date and without time zone.
       .toString()                               // Generate a string representing the time-of-day value in standard ISO 8601 format.
  

5点40分13秒

关于java.time

java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.DateCalendar和& SimpleDateFormat

现在位于Joda-Timemaintenance mode项目建议迁移到java.time类。

要了解详情,请参阅Oracle Tutorial。并搜索Stack Overflow以获取许多示例和解释。规范是JSR 310

从哪里获取java.time类?

ThreeTen-Extra项目使用其他类扩展java.time。该项目是未来可能添加到java.time的试验场。您可以在此处找到一些有用的课程,例如IntervalYearWeekYearQuartermore

答案 1 :(得分:0)

不推荐使用Java.Util.Date类,我建议使用

Java.Util.Calendar instead.  

如果您想在当前日期添加第二个,请尝试以下方法:

Calendar currentTime = Calendar.getInstance(); // gets a calendar using the default time zone and locale.
calendar.add(currentTime.SECOND, 1);
System.out.println(currentTime.getTime());

但是,你在使用Date类时收到1970日期的原因是因为该类的工作时间为毫秒,所以你必须将long值乘以1000才能将它转换为日期,这是一个例子。

Date currentDate = new Date( YourLongValue * 1000);