我需要创建一个timeZone,这是对America / New_York的修复偏移
我想做类似的事情(DateTime lib): DateTimeZone MyTimeZone = DateTimeZone.forID(" America / New_York + 17");
但这是不可能的。
我唯一能做的就是获得UTC / GMT的当前偏移量并将其移动到我的额外偏移量。
DateTimeZone.forOffsetMillis(NYTimeZone.getOffset(时间)+ DT)
但这并不高效 - 因为我需要知道当前知道当前偏移的时间。
由于
我找到了ZoneTimeBuilder - 这是一个如何使用它的例子。
你知道在哪里可以找到New_York的定义 - 这个例子适用于LA ..
DateTimeZone America_Los_Angeles = new DateTimeZoneBuilder() .addCutover(-2147483648,' w',1,1,0,false,0) .setStandardOffset(-28378000) .setFixedSavings(" LMT",0) .addCutover(1883,' w',11,18,0,false,43200000) .setStandardOffset(-28800000) .addRecurringSavings(" PDT",3600000,1918,1919,' w',3,-1,7,false,7200000) .addRecurringSavings(" PST",0,1918,1919,' w',10,-1,7,false,7200000) .addRecurringSavings(" PWT",3600000,1942,1942,' w',2,9,0,false,7200000) .addRecurringSavings(" PPT",3600000,1945,1945,' u',8,14,0,false,82800000) .addRecurringSavings(" PST",0,1945,1945,' w',9,30,0,false,7200000) .addRecurringSavings(" PDT",3600000,1948,1948,' w',3,14,0,false,7200000) .addRecurringSavings(" PST",0,1949,1949,' w',1,1,0,false,7200000) .addRecurringSavings(" PDT",3600000,1950,1966,' w',4,-1,7,false,7200000) .addRecurringSavings(" PST",0,1950,1961,' w',9,-1,7,false,7200000) .addRecurringSavings(" PST",0,1962,1966,' w',10,-1,7,false,7200000) .addRecurringSavings(" PST",0,1967,2147483647,' w',10,-1,7,false,7200000) .addRecurringSavings(" PDT",3600000,1967,1973,' w',4,-1,7,false,7200000) .addRecurringSavings(" PDT",3600000,1974,1974,' w',1,6,0,false,7200000) .addRecurringSavings(" PDT",3600000,1975,1975,' w',2,23,0,false,7200000) .addRecurringSavings(" PDT",3600000,1976,1986,' w',4,-1,7,false,7200000) .addRecurringSavings(" PDT",3600000,1987,2147483647,' w',4,1,7,true,7200000) .toDateTimeZone(" America / Los_Angeles",true);