2011-01-07 41 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

相关问题