0
好吧,所以我幾乎試過一切。我敢打賭這很簡單,但我似乎無法得到它。服務器時區java轉換
服務器向我發送時間,這是時代。但是,當我把它放入日期對象時,它似乎會自動選取時區,並且它會在服務器時間中增加+3。所以如果gmt時間是00.00,它說它是03.00。
我還需要添加我自己的時區。假設新紀元時間再次爲00.00,在添加時區之後,它應該讀爲10.00。
任何幫助將不勝感激。謝謝
好吧,所以我幾乎試過一切。我敢打賭這很簡單,但我似乎無法得到它。服務器時區java轉換
服務器向我發送時間,這是時代。但是,當我把它放入日期對象時,它似乎會自動選取時區,並且它會在服務器時間中增加+3。所以如果gmt時間是00.00,它說它是03.00。
我還需要添加我自己的時區。假設新紀元時間再次爲00.00,在添加時區之後,它應該讀爲10.00。
任何幫助將不勝感激。謝謝
「它似乎添加」 - 我懷疑你使用Date.toString()
這確實使用本地時區。儘管如此,Date
對象本身在UTC中是有效的。使用DateFormat
可以轉換爲字符串,您可以指定使用哪個時區。您可能還需要使用Calendar
- 這取決於您要做的事情。
(或者,首先使用Joda Time,這是一個更好的API。但是對於您的Android項目來說可能有點笨重,如果某處出現了「Joda Time lite」項目,我不會感到驚訝正是這個類的事情......)
編輯:快速樣品,雖然它不是完全清楚你需要什麼...
long millis = getMillisFromServer();
Date date = new Date(millis);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(customTimeZone);
String formatted = format.format(date);
我能有一個例子。我需要將它與其他東西進行比較 – Hades
@Hades:現在已經添加了一個,儘管它不完全清楚你想要做什麼,或者你需要什麼樣的格式。 –
似乎很好......謝謝 – Hades