java - Android.text.format.Time 未正确设置 isDst?

标签 java android dst

我尝试根据以下内容将 Time 对象设置为当前时间过去 15 分钟:

    Time time = new Time("EST");
    time.setToNow();
    time.minute += 15;
    time.normalize(true);

但是,在 time.setToNow() 之后,我在调试器中注意到时间对象的 isDST 字段等于 0,这表明根据 reference. 不在 DST 中。另外根据引用, time.normalize(true) 方法应该将 isDst 字段设置为 -1,然后计算 isDst 的正确值,但在我的情况下, isDst 值保持不变,为 0,所以时间是向后拨一小时。

我知道我们现在处于夏令时,所以我希望 isDst 字段能够反射(reflect)这一点,但事实并非如此。有什么想法吗?

最佳答案

I know we're in DST now, so I expect the isDst field to reflect this, but it's not. Any ideas?

这可能是因为您指定了“EST”作为时区。这是东部标准时间 - 没有夏令时的概念。

如果您使用诸如“America/New_York”之类的内容,我怀疑您会得到不同的答案。这是一个 zoneinfo 时区标识符,涵盖一年中不同时间的 EST 和 EDT。

关于java - Android.text.format.Time 未正确设置 isDst?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429063/

相关文章:

java.lang.VerifyError : Verifier rejected class. 代码在 Debug模式下工作正常,但在 Release模式下不会抛出此错误

java - 使用 Joda-Time 计算持续时间

java - 使用多态 JAX-WS web 服务参数

java - 无法在 Java 中更改 MIDI 乐器

Java多接口(interface)继承与值传递

azure - Azure 中依赖英国夏令时的应用程序出现问题

iPhone:NSDate 和夏令时

java - 单击第二个按钮时的操作

java.util.concurrent.ExecutionException : org. apache.catalina.LifecycleException 异常

android - 崩溃 - 运行时异常(MultiDex.java :178)