【发布时间】:2016-08-12 11:22:59
【问题描述】:
我正在尝试从日期获取时间戳。但是我正在尝试获取本地时间戳,但是设置时区的事件,我仍然在 UTC 中获取时间戳。
这是我的代码:
public static Long dateToTimestamp(String dateFormat) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm");
formatter.setTimeZone(TimeZone.getDefault());
Log.e("AQM", TimeZone.getDefault().getDisplayName());
try {
Date date = formatter.parse(dateFormat);
return date.getTime() / 1000;
} catch (ParseException e) {
return Long.parseLong("0");
}
}
这是日志:
04-19 23:11:01.751 4593-4593/br.com.vitorvillar.aquariummanager E/AQM: 20/04/2016 23:10
04-19 23:11:01.751 4593-4593/br.com.vitorvillar.aquariummanager E/AQM: Brasilia Standard Time
04-19 23:11:01.751 4593-4593/br.com.vitorvillar.aquariummanager E/AQM: Brasilia Standard Time
04-19 23:11:01.761 4593-4593/br.com.vitorvillar.aquariummanager E/AQM: 1461204600
日期和时区都可以,时区是Brasilia Standard Time,但时间戳距离这里还有 3 小时。当我在在线转换器中转换时,日期是 21/04/2016 02:10
那么,有人知道我能做什么吗?
【问题讨论】:
-
不要为
SimpleDateFormat设置时区。
标签: android date datetime timestamp