2012-10-08 77 views
4

有人請詳細解釋以下內容:Java - Date value long值:TimeZone如何相關?

我有一個long值,它代表date

  1. 會是怎樣與long值相關聯的timezone

  2. 如何把long的值轉換爲正確的日期time zone

  3. 是否有辦法確定與long date值相關聯的timezone

+1

查看[java.util.Date的API文檔](http://docs.oracle.com/javase/7/docs/api/java/util/Date.html)以獲取解釋。 Java教程中可能還有一些東西,但我沒看過。 –

回答

2

當時間長格式,TimeZone不會與它相關聯。

您需要使用SimpleDateFormat(或)Calendar API將長時間值應用於時區。

4

A日期(作爲long或java.util.Date)表示時間。

除非您處理日曆,否則不存在TimeZone。

您可以創建一個給定的時區和語言環境這樣的日曆:

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

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

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磅。

  • 如何將長時間值轉換爲具有適當時區的日期?
    你不能因爲上面。

  • 是否有辦法確定與長日期值相關的時區?
    沒有。

6

長是自1970年1月,GMT毫秒。所以,在這方面,這是GMT。