【发布时间】:2017-04-25 01:05:47
【问题描述】:
我的设备有 MILLISECONDS 的当前时间。
现在我需要将其转换为 UTC 时区的毫秒数
所以我试过这个,但它没有在毫秒内转换。
public static long localToUTC(long time) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Log.e("* UTC : " + time, " - " + sdf.format(new Date(time)));
Date date = sdf.parse(sdf.format(new Date(time)));
long timeInMilliseconds = date.getTime();
Log.e("Millis in UTC", timeInMilliseconds + "" + new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a").format(date));
return timeInMilliseconds;
} catch (Exception e) {
Log.e("Exception", "" + e.getMessage());
}
return time;
}
UTC MILLISECOND 到 LOCAL TIME ZONE MILLISECOND
反之亦然请给我一些建议。
【问题讨论】:
-
代码对我来说看起来不错。你确定你测试正确吗?也许您可以添加示例输入和预期输出。
-
谢谢,我已经测试过了,它给了我正确的日期,但是当我从日期对象中取毫秒 long timeInMilliseconds = date.getTime();它给了我一些不准确的价值,这是我需要的
标签: android datetime timezone utc