【问题标题】:How to handle Time Zone and Day Light Saving in android?如何在android中处理时区和夏令时?
【发布时间】:2013-06-08 09:29:20
【问题描述】:

我正在编写这个需要在 android 中处理 DST 的应用程序。我编写了一个小的测试代码,可以执行以下操作。此外,在这种情况下,我没有使用网络提供的日期时间。

如果我运行应用程序并显示当前时间并转到 android 设置并更改时区而不退出应用程序然后从应用程序获取当前时间它不会给我新的时间更改。

更新以下是代码

btnStart.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Date dt = new Date(System.currentTimeMillis());
                txtViewStart.setText(sdf.format(dt));
            }
        });

        btnEnd.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Date dt = new Date(System.currentTimeMillis());
                txtViewEnd.setText(sdf.format(dt));

            }
        });

我该如何处理这个问题以及在夏令时的情况下

【问题讨论】:

  • 处理时间变化的代码是否在您的 onCreate() 或 onResume() 方法中?另外,您可以发布上述代码吗?
  • 我写的只是在onCreate()中返回当前日期时间的代码。我将更新问题中的代码

标签: java android timezone dst


【解决方案1】:
        TimeZone timezone = TimeZone.getTimeZone(selectManulTimeZoneString);
    OR
    TimeZone timezone = TimeZone.getDefault();
String TimeZoneName = timezone.getDisplayName();
int TimeZoneOffset = timezone.getRawOffset() / (60 * 60 * 1000);
double hoursDiff = timezone.getDSTSavings() / (60 * 60 * 1000);
Log.i("AM","DayLightSaving:" + hoursDiff);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-21
    • 2015-02-04
    • 2019-12-16
    • 2017-03-17
    • 2017-11-04
    • 2015-04-23
    • 2021-01-08
    • 2013-10-13
    相关资源
    最近更新 更多