Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 日期/时间转换为当地时间_Blackberry - Fatal编程技术网

Blackberry 日期/时间转换为当地时间

Blackberry 日期/时间转换为当地时间,blackberry,Blackberry,请参阅下面的代码 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

请参阅下面的代码

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);
它在模拟器中将精细时间转换为印度标准时间。 当我尝试在设备中使用时,时间保持不变。

.parse在文档中说:

解析日期字符串并返回 自1月份以来的毫秒数 1970年1月1日00:00:00GMT

如果要在设备自己的时区中显示时间,不需要进行所有时区转换,只需直接使用SimpleDataFormat:

long timeSinceEpoch = HttpDateParser.parse(dateString);
String pattern = "yyyy-MM-dd hh:mma";
SimpleDateFormat date = new SimpleDateFormat(pattern);
String dateNow = date.formatLocal(timeSinceEpoch);
但如果我将毫秒传递给Date()函数会发生什么呢。 它会自动将日期转换为用户的本地时区。干杯

下面的代码做得很好

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

date1已转换为用户的本地时区

设备时区是否设置为印度标准时间?是。同样出于测试目的,我使用GMT+5.50转换时间。它在模拟器中工作良好,但在设备中不工作。我在模拟器中得到了日期和转换日期之间的差异5.30小时。您提供的代码的日期与源日期相同。请提供您正在使用的示例“dateString”值。
 Date date1 = new Date(HttpDateParser.parse((String)kValue))