获取Android应用程序中的当前时区
我如何在我的Android应用程序中获取当前时区? 我试图用这个
Calendar cal = Calendar.getInstance( userConfig.locale); TimeZone tz = cal.getTimeZone();
但是我没有从中获得时区。 我怎样才能显示时区?
用这个
Calendar cal = Calendar.getInstance(); TimeZone tz = cal.getTimeZone(); Log.d("Time zone","="+tz.getDisplayName());
或者你也可以使用java.util.TimeZone
类
TimeZone.getDefault().getDisplayName()
String timezoneID = TimeZone.getDefault().getID(); System.out.println(timezoneID);
在我的控制台它的印刷品Asia/Calcutta
和任何date格式我把它设置为喜欢….
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy"); sdf2.setTimeZone(TimeZone.getTimeZone(timezoneID));
我需要的偏移量不仅包括日光节约时间,而且还是一个数字。 这里是我使用的代码,以防有人在寻找一个例子。
我得到了“11”的答复,这是我在夏天在澳大利亚新南威尔士期待的。 我也需要它作为一个string,所以我可以发布到服务器,所以你可能不需要最后一行。
TimeZone tz = TimeZone.getDefault(); Date now = new Date(); int offsetFromUtc = tz.getOffset(now.getTime()) / 3600000; String m2tTimeZoneIs = Integer.toString(offsetFromUtc);
要显示当前时间,您应该在UI线程上运行以下代码片段。 这对我工作:
Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { runOnUiThread(new Runnable(){ public void run() { dateTxt.setText(new Date().toString()); } }); } }, 0, 1000);