据我所知,时刻时区也有历史时区数据。如果不需要历史数据怎么办?如果只使用最近和未来的日期,是否有办法剥离这些历史数据,以便数据量更小?
是的,可以做到 - 但是,没有什么可以自动执行此操作。 您必须自己操作数据。 如果您需要更新数据,则必须重新执行。
例如,考虑单个时区的完整区域数据:
{
"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。