【问题标题】:How to set time to epoch time java?如何将时间设置为纪元时间java?
【发布时间】:2013-07-02 11:20:55
【问题描述】:

我正在尝试在 java 中将时间设置为纪元日期时间。我怎样才能做到这一点?这样我就可以在纪元日期时间之外获得年月日等。

【问题讨论】:

  • 新日期(0L);试试这个

标签: java android date time epoch


【解决方案1】:

使用新日期(0L);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(sdf.format(new Date(0L)));

注意您的时区,因为它会根据您的默认设置而改变。

更新 在 java 8 中,您可以使用新的 java.time

你有这个常量Instant.EPOCH

【讨论】:

    【解决方案2】:

    据我了解,您只想将其存储在某个变量中吗?所以使用 Date epoch = new Date(0);

    【讨论】:

      【解决方案3】:

      试试这个

          Calendar c = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
          c.setTimeInMillis(0);
          int day = c.get(Calendar.DATE);
          int month = c.get(Calendar.MONTH) + 1;
          int year = c.get(Calendar.YEAR);
      

      【讨论】:

        【解决方案4】:

        tl;博士

        Instant.EPOCH
        

        使用 java.time

        麻烦的旧日期时间类包括 DateCalendar 现在是遗留的,被 java.time 类所取代。大部分 java.time 功能都向后移植到 Android(见下文)。

        要获取 1970-01-01Java & Unix epoch reference 日期的仅日期值,请使用 LocalDateLocalDate 类表示没有时间和时区的仅日期值。

        LocalDate epoch = LocalDate.ofEpochDay( 0L ) ;
        

        epoch.toString: 1970-01-01

        要获取同一时期的日期时间值,请使用常量Instant.EPOCHInstant 类代表UTC 时间线上的时刻,分辨率为nanoseconds(最多九 (9) 位小数)。

        Instant epoch = Instant.EPOCH ;
        

        epoch.toString(): 1970-01-01T00:00:00Z

        标准ISO 8601 输出中的ZZulu 的缩写,表示UTC

        要获取从那时起的年数、月数、天数,请使用 Period 类。

        Period period = Period.between( 
             LocalDate.ofEpochDay( 0 ) , 
             LocalDate.now( ZoneId.of( "America/Montreal" ) ) 
        ) ;
        

        搜索 Stack Overflow 以获取更多关于 Period 的讨论和示例。


        关于java.time

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

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

        要了解更多信息,请参阅Oracle Tutorial。并在 Stack Overflow 上搜索许多示例和解释。规格为JSR 310

        从哪里获得 java.time 类?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-09
          • 2012-08-12
          • 2019-04-09
          • 2013-07-19
          • 2011-12-13
          • 1970-01-01
          • 2013-06-27
          • 2012-01-30
          相关资源
          最近更新 更多