当前位置: 首页 > 知识库问答 >
问题:

Android kotlin中的夏令时

唐利
2023-03-14

我想知道下一个夏令时的日期,但我不能。例如,我需要的是得到这个日期:星期日,28 de mark 2021,2:00:00

->这里我得到的是日期:https://www.timeanddate.com/time/change/spain/madrid

我知道timezoneobservesdaylighttimeindaylighttime函数。
但我需要的是日期,而不是是否在范围内。

有没有人知道这个约会是怎么来的?

谢谢!!

共有1个答案

微生永春
2023-03-14

Kotlin中有java.time

您需要的基本上是zoneoffsettransition,它表示与UTC的时间偏移量有关的更改。

下面是我在Kotlin游乐场尝试的一个小例子:

import java.time.Instant
import java.time.LocalDate
import java.time.ZoneId
import java.time.zone.ZoneOffsetTransition
import java.time.zone.ZoneRules

fun main() {
    // create your desired zone
    val madridZoneId = ZoneId.of("Europe/Madrid");

    // receive the rules of that zone
    var rules = madridZoneId.getRules();

    // receive the next transition from now/today
    var nextTransition = rules.nextTransition(Instant.now());

    // and print it
    println("Next DST change in "
            + madridZoneId
            + ": "
            + nextTransition.getInstant()
                            .atZone(madridZoneId)
                            .toLocalDate());

    // receive the transition after next using the next
    var transitionAfterNext = rules.nextTransition(nextTransition.getInstant());

    // and print that, too
    println("DST change after next in "
            + madridZoneId
            + ": "
            + transitionAfterNext.getInstant()
                                 .atZone(madridZoneId)
                                 .toLocalDate());
}
Next DST change in Europe/Madrid: 2021-10-31
DST change after next in Europe/Madrid: 2022-03-27
 类似资料:
  • 问题内容: 我们正在使用一个旧的应用程序,该应用程序以C / Unix格式存储日期。C时间基本上是自1970年1月1日以来的秒数。日期以整数形式存储在SQL Server数据库中。我正在为使用这些日期的报告编写视图。 到目前为止,我正在使用以下方法从UNIX时间转换为本地日期时间: 3600将从UTC转换为我们当地的GMT + 1时区。在冬天,这是正确的,但在夏季,由于夏令时,该时间减少了一个小时

  • 轻触方格启用设定,即可将夏令时反映于时间显示中。

  • 问题内容: 我正在编写一个处理很多时区并跨越时区的程序。我最常处理的两件事是从“ now”创建一个datetime对象,然后本地化一个朴素的datetime对象。 要从现在开始在太平洋时区创建datetime对象,我目前正在执行此操作(python 2.7.2+) 关于DST,这是否正确?如果没有,我想应该这样做: 我的问题是为什么?谁能告诉我第一个错误而第二个秒正确的情况? 至于我的秒数问题,假

  • 问题内容: 如何检查夏令时是否有效? 问题答案: 您可以使用并查看返回值中的标志。 使用,您可以在任意时间问相同的问题,以了解DST在当前时区是否有效。

  • 夏令时间 选择[标准]或[夏令时间]。