添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
逆袭的蘑菇  ·  【java框架】SpringMVC(4) ...·  1 周前    · 
深沉的凉茶  ·  GitHub 标星 6.4K+!1344 ...·  5 月前    · 
霸气的煎饼  ·  在 Windows ...·  1 年前    · 
个性的鸡蛋  ·  xpath - Parsing XML ...·  1 年前    · 

需求:如果你现在美国,通过new Date()获取的是当地时间。而你想知道知道此时北京的时间是多少?反过来思考,如果你现在在国内,如何获取指定时区的时间呢? 设置系统时间为美国时间,通过new Date()获取当地时间:

如何获取北京时间并展示在页面?

        //  获取指定指定时区时间(北京时区为8,纽约时区为-5。东时区为正数,西市区为负数)
        function getTimeByZone(timezone = 8, date) {
            // 本地时间距离(GMT时间)毫秒数
            let nowDate = !date ? new Date().getTime() : new Date(date).getTime()
            // 本地时间和格林威治时间差,单位分钟
            let offset_GMT = new Date().getTimezoneOffset()
            //  反推到格林尼治时间
            let GMT = nowDate + offset_GMT * 60 * 1000 
            //  获取指定时区时间
            let targetDate = new Date(GMT + timezone * 60 * 60 * 1000)
            return targetDate

测试结果(系统时间为北美时间,new Date()获取此时时间,通过函数获取北京时区时间):

用户212961278418 前端 @ 京东