Java 如何在android中处理时区和日光节约?
我正在编写这个应用程序,它需要在android中处理DST。我已经编写了一个小测试代码,可以执行以下操作。此外,在这种情况下,我不使用网络提供的日期时间 如果我运行应用程序并显示当前时间,然后转到android设置,在不退出应用程序的情况下更改时区,然后从应用程序获取当前时间,则不会给我新的时间更改 更新以下是代码Java 如何在android中处理时区和日光节约?,java,android,timezone,dst,Java,Android,Timezone,Dst,我正在编写这个应用程序,它需要在android中处理DST。我已经编写了一个小测试代码,可以执行以下操作。此外,在这种情况下,我不使用网络提供的日期时间 如果我运行应用程序并显示当前时间,然后转到android设置,在不退出应用程序的情况下更改时区,然后从应用程序获取当前时间,则不会给我新的时间更改 更新以下是代码 btnStart.setOnClickListener(new OnClickListener() { @Override publ
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()中返回当前日期时间的代码。我将更新问题中的代码参考:
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);