爪哇 - 日期,只要值:如何TimeZone的关联?(Java - Date as long val

2019-09-23 16:22发布

可能有人请详细解释如下:

我有一个long代表值date

  1. 会是怎样的timezone与相关的long价值?

  2. 如何将转换long值与正确的日期time zone

  3. 是否有办法识别的timezone与相关的long date值?

Answer 1:

长是自1970年1月,GMT毫秒。 所以,这方面,它是GMT。



Answer 2:

所述long其代表值java.util.Date是从历元经过的毫秒数。 (1970年1月1日)

/**
 * Allocates a <code>Date</code> object and initializes it to 
 * represent the specified number of milliseconds since the 
 * standard base time known as "the epoch", namely January 1, 
 * 1970, 00:00:00 GMT. 
 *
 * @param   date   the milliseconds since January 1, 1970, 00:00:00 GMT.
 * @see     java.lang.System#currentTimeMillis()
 */
public Date(long date) {
    fastTime = date;
}
  • 什么将与长值相关联的时区?
    您可以将单元安装到一个长期价值? 没有。
    这是类似于说给出一个int 2这是什么代表什么呢? 。 这可能是2英里或2磅。

  • 如何长值转换为适当的时区的日期?
    你不能因为以上。

  • 是否有办法识别与长日期值相关联的时区?
    不。



Answer 3:

日期(无论是作为一个长或java.util.Date )表示在时间上的时刻。

没有参与,除非你正在处理一个日历的时区。

您可以创建一个给定的时区和语言环境这样的日历:

long rightNow = System.currentTimeMillis();
Locale exampleLocale = Locale.GERMANY;
TimeZone zone = TimeZone.getTimeZone("EST");

Calendar theCalendar = Calendar.getInstance(zone, exampleLocale);
theCaledar.setTime(new Date(rightNow));


Answer 4:

当时间长格式, TimeZone不会与它相关联。

你需要为使用SimpleDateFormat (或) Calendar API申请时区长期价值。



文章来源: Java - Date as long value: how does TimeZone relate?