Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将日期(UTC)转换为另一时区的日期(支持DST)_Javascript_Date_React Native_Timezone_Momentjs - Fatal编程技术网

Javascript 将日期(UTC)转换为另一时区的日期(支持DST)

Javascript 将日期(UTC)转换为另一时区的日期(支持DST),javascript,date,react-native,timezone,momentjs,Javascript,Date,React Native,Timezone,Momentjs,问题陈述-我需要将UTC格式的日期转换为另一时区的日期。其他时区可能支持也可能不支持DST 我可用的数据: Windows时区ID(太平洋标准时间除外) 该时区的UTC偏移量 时区是否支持DST(夏令时) DST UTC偏移量 使用上述数据,我可以将时间转换为所需的时区,但如何检查该时区的DST当前是否处于活动状态?如果我知道DST是活动的,那么我可以使用DST偏移,而不是标准偏移 技术-JavaScript,React Native(如果需要,我愿意使用moment.js)。momentjs有

问题陈述-我需要将UTC格式的日期转换为另一时区的日期。其他时区可能支持也可能不支持DST

我可用的数据

  • Windows时区ID(太平洋标准时间除外)
  • 该时区的UTC偏移量
  • 时区是否支持DST(夏令时)
  • DST UTC偏移量
  • 使用上述数据,我可以将时间转换为所需的时区,但如何检查该时区的DST当前是否处于活动状态?如果我知道DST是活动的,那么我可以使用DST偏移,而不是标准偏移


    技术-JavaScript,React Native(如果需要,我愿意使用moment.js)。

    momentjs
    有一种方法可以与

    //请参见https://gist.github.com/danderson00/c03d46dfc38486ea7b06da9f75c7a63f
    让windowsToIANA={
    “日期行标准时间”:“Etc/GMT+12”,
    “UTC-11”:“Etc/GMT+11”,
    “阿留申标准时间”:“美国/阿达克”,
    “夏威夷标准时间”:“太平洋/檀香山”,
    “马尔克斯标准时间”:“太平洋/马尔克斯”,
    “阿拉斯加标准时间”:“美国/安克雷奇”,
    “UTC-09”:“Etc/GMT+9”,
    “太平洋标准时间(墨西哥)”:“美洲/蒂华纳”,
    “UTC-08”:“Etc/GMT+8”,
    “太平洋标准时间”:“美国/洛杉矶”,
    “美国山地标准时间”:“美国/凤凰城”,
    “山地标准时间(墨西哥)”:“美洲/奇瓦瓦”,
    “山地标准时间”:“美国/丹佛”,
    “中美洲标准时间”:“美洲/危地马拉”,
    “中央标准时间”:“美洲/芝加哥”,
    “复活节岛标准时间”:“太平洋/复活节”,
    “中部标准时间(墨西哥)”:“美洲/墨西哥城”,
    “加拿大中部标准时间”:“美洲/里贾纳”,
    “南太平洋标准时间”:“美洲/波哥大”,
    “东部标准时间(墨西哥)”:“美洲/坎昆”,
    “东部标准时间”:“美国/纽约”,
    “海地标准时间”:“美国/太子港”,
    “古巴标准时间”:“美国/哈瓦那”,
    “美国东部标准时间”:“美国/印第安纳波利斯”,
    “巴拉圭标准时间”:“美洲/亚松森”,
    “大西洋标准时间”:“美国/哈利法克斯”,
    “委内瑞拉标准时间”:“美洲/加拉加斯”,
    “巴西中部标准时间”:“美洲/库亚巴”,
    “南非西部标准时间”:“美洲/拉巴斯”,
    “太平洋标准时间”:“美洲/圣地亚哥”,
    “特克斯和凯科斯群岛标准时间”:“美国/大特克斯”,
    “纽芬兰标准时间”:“美国/圣约翰”,
    “托坎廷斯标准时间”:“美洲/阿拉瓜那”,
    “南美洲标准时间”:“美洲/圣保罗”,
    “南非东部标准时间”:“美国/卡宴”,
    “阿根廷标准时间”:“美洲/布宜诺斯艾利斯”,
    “格陵兰标准时间”:“美洲/哥达布”,
    “蒙得维的亚标准时间”:“美洲/蒙得维的亚”,
    “马加兰标准时间”:“美洲/蓬塔竞技场”,
    “圣皮埃尔标准时间”:“美洲/米克隆”,
    “巴伊亚标准时间”:“美洲/巴伊亚”,
    “UTC-02”:“Etc/GMT+2”,
    “亚速尔群岛标准时间”:“大西洋/亚速尔群岛”,
    “佛得角标准时间”:“大西洋/佛得角”,
    “UTC”:“Etc/GMT”,
    “摩洛哥标准时间”:“非洲/卡萨布兰卡”,
    “格林尼治标准时间”:“欧洲/伦敦”,
    “格林威治标准时间”:“大西洋/雷克雅未克”,
    “西欧标准时间”:“欧洲/柏林”,
    “中欧标准时间”:“欧洲/布达佩斯”,
    “浪漫标准时间”:“欧洲/巴黎”,
    “中欧标准时间”:“欧洲/华沙”,
    “西非中部非洲标准时间”:“非洲/拉各斯”,
    “约旦标准时间”:“亚洲/安曼”,
    “GTB标准时间”:“欧洲/布加勒斯特”,
    “中东标准时间”:“亚洲/贝鲁特”,
    “埃及标准时间”:“非洲/开罗”,
    “欧洲标准时间”:“欧洲/基希讷乌”,
    “叙利亚标准时间”:“亚洲/大马士革”,
    “西岸标准时间”:“亚洲/希布伦”,
    “南非标准时间”:“非洲/约翰内斯堡”,
    “FLE标准时间”:“欧洲/基辅”,
    “以色列标准时间”:“亚洲/耶路撒冷”,
    “加里宁格勒标准时间”:“欧洲/加里宁格勒”,
    “苏丹标准时间”:“非洲/喀土穆”,
    “利比亚标准时间”:“非洲/的黎波里”,
    “纳米比亚标准时间”:“非洲/温得和克”,
    “阿拉伯标准时间”:“亚洲/巴格达”,
    “土耳其标准时间”:“欧洲/伊斯坦布尔”,
    “阿拉伯标准时间”:“亚洲/利雅得”,
    “白俄罗斯标准时间”:“欧洲/明斯克”,
    “俄罗斯标准时间”:“欧洲/莫斯科”,
    “E.非洲标准时间”:“非洲/内罗毕”,
    “伊朗标准时间”:“亚洲/德黑兰”,
    “阿拉伯标准时间”:“亚洲/迪拜”,
    “阿斯特拉罕标准时间”:“欧洲/阿斯特拉罕”,
    “阿塞拜疆标准时间”:“亚洲/巴库”,
    “俄罗斯时区3”:“欧洲/萨马拉”,
    “毛里求斯标准时间”:“印度/毛里求斯”,
    “萨拉托夫标准时间”:“欧洲/萨拉托夫”,
    “格鲁吉亚标准时间”:“亚洲/第比利斯”,
    “高加索标准时间”:“亚洲/埃里温”,
    “阿富汗标准时间”:“亚洲/喀布尔”,
    “西亚标准时间”:“亚洲/塔什干”,
    “叶卡捷琳堡标准时间”:“亚洲/叶卡捷琳堡”,
    “巴基斯坦标准时间”:“亚洲/卡拉奇”,
    “印度标准时间”:“亚洲/加尔各答”,
    “斯里兰卡标准时间”:“亚洲/科伦坡”,
    “尼泊尔标准时间”:“亚洲/加德满都”,
    “中亚标准时间”:“亚洲/阿拉木图”,
    “孟加拉国标准时间”:“亚洲/达卡”,
    “Omsk标准时间”:“亚洲/Omsk”,
    “缅甸标准时间”:“亚洲/仰光”,
    “东南亚标准时间”:“亚洲/曼谷”,
    “阿尔泰标准时间”:“亚洲/巴诺”,
    “西蒙古标准时间”:“亚洲/Hovd”,
    “北亚标准时间”:“亚洲/克拉斯诺亚尔斯克”,
    “北中亚标准时间”:“亚洲/新西伯利亚”,
    “托木斯克标准时间”:“亚洲/托木斯克”,
    “中国标准时间”:“亚洲/上海”,
    “东北亚-东部标准时间”:“亚洲/伊尔库茨克”,
    “新加坡标准时间”:“亚洲/新加坡”,
    “西澳大利亚标准时间”:“澳大利亚/珀斯”,
    “台北标准时间”:“亚洲/台北”,
    “乌兰巴托标准时间”:“亚洲/乌兰巴托”,
    “澳大利亚中部W.标准时间”:“澳大利亚/欧克拉”,
    “跨贝加尔标准时间”:“亚洲/赤塔”,
    “东京标准时间”:“亚洲/东京”,