回答
您可以使用java.util.Calendar
。它提供了一個setTimeZone()
方法(這是多餘的,因爲它默認已經選擇了系統默認的時區)。
long timestamp = 1245613885;
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getDefault());
calendar.setTimeInMillis(timestamp * 1000);
int year = calendar.get(Calendar.YEAR);
int day = calendar.get(Calendar.DATE);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
如果您想目前它在人類可讀的日期字符串,那麼我建議SimpleDateFormat
這一點。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = sdf.format(calendar.getTime());
System.out.println(dateString); // 2009-06-21 15:51:25
(輸出是按我的時區格林尼治標準時間4正確)
Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"), Locale.US);
calendar.setTimeInMillis(1245613885 * 1000);
int year = calendar.get(Calendar.YEAR);
int day = calendar.get(Calendar.DAY_OF_YEAR);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
更改TimeZone
值要傳遞到Calendar
對象的構造函數,如果你需要一個不同的時區。
UTC時間戳記表示爲從時代開始的秒數。 java.util.Calendar使用從紀元開始的毫秒數,因此您需要在日曆上設置時間時乘以1000。 – 2010-10-01 21:24:19
你是對的,我已經更新了這一行。儘管如此,是一個downvote? Sheesh ... – 2010-10-01 21:25:37
您可以使用'@ nickname'來定位某人的評論,這樣他/她將收到有關全球收件箱中評論和最近活動的通知。請注意,當你是提問者或回答者時,這是不必要的。另請參閱[this answer](http://meta.stackexchange.com/questions/1093/make-recent-activity-and-responses-show-new - 關於元的評論 - 問題 - 答案 - 我有/ 35913#35913)。 – BalusC 2010-10-01 21:50:57
基本上你只需要一個格式化做到這一點
日期日期=新的日期(1245613885L * 1000);
SimpleDateFormat formatter = new SimpleDateFormat('MM/dd/yyyy');
System.out.println(formatter.format(date));
import java.util.Calendar;
import java.util.TimeZone;
public class Example{
public static void main(String[] args){
long utcTimestamp = 1285578547L;
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
cal.setTimeInMillis(utcTimestamp * 1000);
System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.MONTH));
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
System.out.println(cal.get(Calendar.DAY_OF_YEAR));
System.out.println(cal.get(Calendar.HOUR));
System.out.println(cal.get(Calendar.MINUTE));
}
}
我會使用類似喬達時間,這比JDK日期/ Calendar類快得多,也沒有與日期解析(那不是你的問題涉及到日期解析)
線程安全問題+1,如果只是爲了表示聲援99.99%的人類誰想要現有的JDK日曆東西去死一個火熱的死亡。 --JA – andersoj 2010-10-01 21:32:53
- 1. 在java中將字符串時間和分鐘轉換爲UTC
- 2. 如何將時間戳轉換爲shell腳本中的小時/分鐘/秒?
- 3. 如何將UTC時間戳轉換爲ABAP中的系統日期和時間
- 4. 如何在MySql中將unix時間戳轉換爲UTC日期?
- 5. 如何將日期時間轉換爲java中的時間戳
- 6. 轉換爲UTC時間戳
- 7. 將UTC中的時間戳轉換爲時間戳
- 8. 將本地時間戳UTC時間戳在Java中
- 9. 如何將UTC時間轉換爲Unix時間戳在swift中?
- 10. 將時間戳轉換爲X天X小時X分鐘前
- 11. 將本地日期時間轉換爲UTC時間在php
- 12. 如何將UTC時間戳轉換爲小時,分鐘以顯示在Java圖上?
- 13. 如何將UTC時間轉換爲本地時間的javascript
- 14. 將UTC日期時間轉換爲用戶的本地日期和時間
- 15. 在Python中將時間戳轉換爲UTC中的組合日期和時間
- 16. 如何將GMT(UTC)datetime轉換爲本地日期時間?
- 17. 將UTC時間轉換爲本地android
- 18. 如何將UTC日期時間轉換爲本地日期時間?
- 19. 將NTP時間戳轉換爲utc
- 20. 將UTC轉換爲Unix時間戳
- 21. Python:將UTC時間元轉換爲UTC時間戳
- 22. 將歷史時間戳從UTC轉換爲本地
- 23. 如何在Python中將日期時間轉換爲UTC時間戳?
- 24. 將時鐘時間轉換爲分鐘
- 25. 使用JavaScript從UTC時間戳減去分鐘和小時數
- 26. 如何將UTC datetime列轉換爲datagridview中的本地時間?
- 27. 如何將UTC時間轉換爲瀏覽器本地時區?
- 28. UTC轉換爲當地日期時間
- 29. 轉換成時間戳UTC
- 30. 將UTC日期轉換爲Android的本地時間?
有沒有什麼理由你對這幾個月不感興趣,我可以理解丟下秒或毫秒。或者你的意思是每年而不是每月的一天。 – 2010-10-01 21:21:57