没有历史数据的时刻时区



据我所知,时刻时区也有历史时区数据。如果不需要历史数据怎么办?如果只使用最近和未来的日期,是否有办法剥离这些历史数据,以便数据量更小?

是的,可以做到 - 但是,没有什么可以自动执行此操作。 您必须自己操作数据。 如果您需要更新数据,则必须重新执行。

例如,考虑单个时区的完整区域数据:

{
    "zones": {
        "America/Chicago": [
            "-5:50:36 - LMT 1883_10_18_12_9_24 -5:50:36",
            "-6 US C%sT 1920 -6",
            "-6 Chicago C%sT 1936_2_1_2 -6",
            "-5 - EST 1936_10_15_2 -5",
            "-6 Chicago C%sT 1942 -6",
            "-6 US C%sT 1946 -6",
            "-6 Chicago C%sT 1967 -6",
            "-6 US C%sT"
        ]
    },
    "rules": {
        "US": [
            "1918 1919 2 0 8 2 0 1 D",
            "1918 1919 9 0 8 2 0 0 S",
            "1942 1942 1 9 7 2 0 1 W",
            "1945 1945 7 14 7 23 1 1 P",
            "1945 1945 8 30 7 2 0 0 S",
            "1967 2006 9 0 8 2 0 0 S",
            "1967 1973 3 0 8 2 0 1 D",
            "1974 1974 0 6 7 2 0 1 D",
            "1975 1975 1 23 7 2 0 1 D",
            "1976 1986 3 0 8 2 0 1 D",
            "1987 2006 3 1 0 2 0 1 D",
            "2007 9999 2 8 0 2 0 1 D",
            "2007 9999 10 1 0 2 0 0 S"
        ],
        "Chicago": [
            "1920 1920 5 13 7 2 0 1 D",
            "1920 1921 9 0 8 2 0 0 S",
            "1921 1921 2 0 8 2 0 1 D",
            "1922 1966 3 0 8 2 0 1 D",
            "1922 1954 8 0 8 2 0 0 S",
            "1955 1966 9 0 8 2 0 0 S"
        ]
    }
}

如果您只关心当前的规则,则可以简化为:

{
    "zones": {
        "America/Chicago": [
            "-6 US C%sT"
        ]
    },
    "rules": {
        "US": [
            "2007 9999 2 8 0 2 0 1 D",
            "2007 9999 10 1 0 2 0 0 S"
        ]
    }
}

我从Matt Johnson的评论中获取了celalo的评论,并在当前的时区数据上运行它并将其发布到github的要点中。您可以在此处下载:https://gist.github.com/vongillern/9622709。

作为参考,它大约是 33kb,而不是所有历史记录的原始 177kb。

最新更新