2011-01-07 47 views
2

請參見下面的代碼日期/時間轉換爲本地時間

Date date1 = new Date(HttpDateParser.parse(dateString); 
int offset = TimeZone.getTimeZone("GMT+5:30").getRawOffset(); 
date1.setTime(date1.getTime() + offset); 
String pattern = "yyyy-MM-dd hh:mma"; 
SimpleDateFormat date = new SimpleDateFormat(pattern); 
String dateNow = date.format(date1); 

它轉換罰款在模擬器印度標準時間。 當我嘗試在設備中使用時,時間保持不變。

+1

請提供您正在使用的示例'dateString'值。試用了 – 2011-01-08 14:08:45

回答

0
Parses a date string and returns the number of milliseconds since January 1, 1970, 00:00:00 GMT. 

但是,如果發生什麼事我將毫秒傳遞給Date()函數。 它會自動將日期轉換爲用戶的本地時區。乾杯。

下面的代碼所做的一切都是好的。

Date date1 = new Date(HttpDateParser.parse((String)kValue)) 

date1已經轉換爲用戶本地時區。

2

HttpDateParser .parse說,在文檔:

解析日期字符串,並自一月 1,1970年,00:00:00 GMT返回 毫秒數。

如果你想顯示在設備自身的時區的時間,你不需要做這一切時區轉換,只需使用的SimpleDateFormat直接:

long timeSinceEpoch = HttpDateParser.parse(dateString); 
String pattern = "yyyy-MM-dd hh:mma"; 
SimpleDateFormat date = new SimpleDateFormat(pattern); 
String dateNow = date.formatLocal(timeSinceEpoch); 
+0

。沒有成功。 – 2011-01-08 05:05:29

相關問題