2012-11-09 54 views

回答

2

不知道你想要做什麼,但如果你想在普通格式的日期和時間,你可以這樣來做:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm"); 
Calendar cal = Calendar.getInstance(); 
String dateAndTime = dateFormat.format(cal.getTime()); 

字符串dateAndTime將會像2012/01/01 11:13,根據設備設置的日期&,因此它顯示的時間與設備的時鐘相同。 通過將"yyyy/MM/dd HH:mm"更改爲任何你喜歡的東西,你可以使用這個格式稍微玩一下。

希望這會有所幫助!

UPDATE: 要獲得UTC時間做這種方式:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm"); 
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); 
String dateAndTimeUTC = dateFormat.format(new Date()); 
+0

除了在當地時區,不是UTC。 –

+0

是的,但'user1812264'要求在他的國家的時間。 – Xander

+0

嗯,他要求提供「我的國家的全球UTC格式」 - 目前尚不清楚,但考慮到標題,我不相信他真的想要本地時間。 –

5

根本沒有獲得本地時間 - 只需獲取UTC值即可。

long millis = System.currentTimeMillis(); 

或者:

Date date = new Date(); 

如果您需要格式化這個作爲一個字符串,使用SimpleDateFormat但記得適當地設置時區。例如:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", 
               Locale.US); 
format.setTimeZone(TimeZone.getTimeZone("Etc/Utc")); 
String text = format.format(new Date()); 

(目前尚不清楚你所說的「我的祖國全球UTC格式」是什麼意思 - UTC簡單全球性的,它不是一個格式,這是一個時區。)

+0

目前尚不清楚誰,將返回到我UTC時間爲我的國家,下面的代碼的結果返回當前時間不考慮時區: long dateInMillis = System.currentTimeMillis(); \t String format =「yyyy-MM-dd HH:mm:ss」; \t final SimpleDateFormat sdf = new SimpleDateFormat(format); String dateString = sdf.format(new Date(dateInMillis)); –

+2

@ user1812264:沒有「我的國家的UTC時間」這樣的事情 - UTC是全球性的。 –

+0

@ user1812264:只是'new Date()'會給出UTC的當前時間,但你沒有在你的'SimpleDateFormat'中設置時區,所以它默認爲本地時間。你必須明確地將其設置爲UTC。 「日期」本身並不知道時區。 –

相關問題