2017-04-14 115 views
0

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

+0

[如何获取当前日期/时间在Java]可能重复(http://stackoverflow.com/questions/5175728/how-to-get-the-current-date-time-in-java) –

回答

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()); 

BUT ,使用Date类时收到1970年日期的原因是因为该类的工作时间为毫秒,因此您必须将long值乘以1000才能将其转换为日期,下面是一个示例。

Date currentDate = new Date(YourLongValue * 1000); 
1

我真正的目的是为长值转换为日期,并添加第二个在里面。五点四十○分12秒应该添加第二

现在的麻烦java.util.Date类是传统的,由java.time类取代后给我5点四十分13秒。

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.Date,Calendar,& SimpleDateFormat

Joda-Time项目现在位于maintenance mode,建议迁移到java.time类。请参阅Oracle Tutorial。并搜索堆栈溢出了很多例子和解释。规格是JSR 310

从何处获取java.time类?

ThreeTen-Extra项目与其他类扩展java.time。这个项目是未来可能增加java.time的一个试验场。您可以在这里找到一些有用的类,如Interval,YearWeek,YearQuartermore