首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取错误的时区android

获取错误的时区android
EN

Stack Overflow用户
提问于 2014-04-10 14:36:10
回答 1查看 415关注 0票数 0

我使用这个函数来获取实际设备上的当前时间(在Galaxy上测试):

代码语言:javascript
复制
private String getCurrentTime(){
    TimeZone mtz = TimeZone.getTimeZone(TimeZone.getDefault().toString());
    Calendar calendar = Calendar.getInstance(mtz);
    String current_time = calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND);
    return current_time ;
}

但实时(例如):

18:48:16

函数的返回值:

14:17:41

自动日期和时间和自动时区的电话已被检查!!

但这一功能是有效的:

代码语言:javascript
复制
private String getCurrentTime(){
    TimeZone mtz = TimeZone.getTimeZone("GMT+04:30");
    Calendar calendar = Calendar.getInstance(mtz);
    String current_time = calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE)+":"+calendar.get(Calendar.SECOND);
    return current_time ;
}

另一个问题:

当我改变在电话上的时间时,前两个函数的返回值发生变化,如何防止这种情况发生?换句话说,我如何获得实时(没有任何互联网连接)?

EN

回答 1

Stack Overflow用户

发布于 2014-04-10 15:05:04

在第一个示例中,由于toString转换,您将在格林尼治标准时间内收到时间。要获得设备时区,只需使用:

代码语言:javascript
复制
  TimeZone mtz = TimeZone.getDefault();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22991210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档