我使用这个函数来获取实际设备上的当前时间(在Galaxy上测试):
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
自动日期和时间和自动时区的电话已被检查!!
但这一功能是有效的:
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 ;
}另一个问题:
当我改变在电话上的时间时,前两个函数的返回值发生变化,如何防止这种情况发生?换句话说,我如何获得实时(没有任何互联网连接)?
发布于 2014-04-10 15:05:04
在第一个示例中,由于toString转换,您将在格林尼治标准时间内收到时间。要获得设备时区,只需使用:
TimeZone mtz = TimeZone.getDefault();https://stackoverflow.com/questions/22991210
复制相似问题