我们在进行网站开发的时候有可能会涉及到国外的用户或者用户身在国外,这时就会存在时差问题,比如说我们在中国的时间是08:00,但是此时韩国的时间是09:00,如果在网页上需要进行相关显示的话就会出现问题,那作为一个前端该怎么解决这个问题呢?

前端通过请求获取的时间一般都是时间戳格式,这个时间戳一般就是UTC时间(*UTC:最接近标准时间的一个时间标准),而我们在网页上需要显示的是GMT时间,下面就是根据本地时间获得GMT时间和任意时区的时间函数:

1.将本地时间转化成任意时区的时间(如:通过本地时间获取韩国的时间):

首先我们需要知道韩国的时区,这个可以网上查,韩国时区为东9区.

var d=new Date();

var localTime = d.getTime();

var localOffset=d.getTimezoneOffset()*60000; //getTimezoneOffset()返回是以分钟为单位,需要转化成ms

var utc = localTime + localOffset;

var offset =9; //以韩国时间为例,东9区

var korean= utc + (3600000*offset);

var nd = new Date(korean);

console.log("Korean time is " + nd.toLocaleString());

2.UTC时间转化为本地时区时间(UTC时间格式一般为 "2017-11-16T05:23:20.000Z");

convertUTCTimeToLocalTime: function (UTCDateString) {

if(!UTCDateString){

return '-';

}

function formatFunc(str) { //格式化显示

return str > 9 ? str : '0' + str

}

var date2 = new Date(UTCDateString); //这步是关键

var year = date2.getFullYear();

var mon = formatFunc(date2.getMonth() + 1);

var day = formatFunc(date2.getDate());

var hour = date2.getHours();

var noon = hour >= 12 ? 'PM' : 'AM';

hour = hour>=12?hour-12:hour;

hour = formatFunc(hour);

var min = formatFunc(date2.getMinutes());

var dateStr = year+'-'+mon+'-'+day+' '+noon +' '+hour+':'+min;

return dateStr;

},

console.log(convertUTCTimeToLocalTime("2017-11-16T05:23:20.000Z"));

//2017-11-16 PM 01:23

js 时间转东八区_js将UTC时间转化为当地时区时间相关推荐

  1. js 时间转东八区_JS获取当前日期时间/JS日期转化为unix时间戳

    JS获取当前日期时间/JS日期转化为unix时间戳 . 1) var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFul ...

  2. js 时间转东八区_js:固定与东八区服务器时间保持一致并且可选时间格式

    datetimeparse (timestamp, format, prefix){ //转换时区 let currentZoneTime =new Date(timestamp); let curr ...

  3. js 时间转东八区_dayjs处理utc转换

    "常规的时间处理直接使用 [dayjs](https://www.npmjs.com/package/dayjs) 库就可以满足了,大而全一些的就使用 [momnet.js](http:// ...

  4. python3 时区 时间戳 指定输入时间为东八区时间、北京时间

    前言 一般的时间字符串是这样的:2021-07-24 21:23:51 *其实少了时区信息,只是默认为东八区 所以也有这样写的:2021-07-24T21:23:51+08:00 *那个+08:00就 ...

  5. 获取当前时间的东八区时间

    不受系统时间影响. hive中获取东八区时间: select from_utc_timestamp(CURRENT_TIMESTAMP,'GMT+8') mysql获取doris中获取东八区时间: s ...

  6. Linux修改系统时间为东八区北京时间(更换时区)

    文章目录 1. Linux时间 2. 查看系统时间 3. 查看硬件时间 4. 删除本地时间 5. 创建软连接 6. 时间同步(阿里服务器时间) 7. 若提示 command not found,则安装 ...

  7. SpringBoot中JSON时间转换为东八区

    springBoot中,将json格式时间转换为东八区时间. 原来是在.yml文件中定义了: 来进行json格式的时间转换,发现时间转换的不正确 解决方法:可以在实体类中,通过@JsonFormat来 ...

  8. SpringBoot Mysql数据库与Java时间差8小时 UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则Java时间与数据库时间会有8h时差 时区

    UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则Java时间与数据库时间会有8h时差 #like12 find,bug,UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则 ...

  9. mysql修改时间为东八区,mysql时区设置为东八区

    场景:后台返回给页面的时间统一差8小时. 分析:差八小时,应该是时区问题.具体的是哪一层出的问题呢,mybatis?mysql?系统时间? 解析: 1.查询mysql时区(正常) 输入show var ...

最新文章

  1. zookeeper快速入门——简介
  2. 整理find命令输出格式
  3. Web前端小白入门指迷
  4. 在linux中解压.tgz
  5. centos 7 php7 yum源
  6. P1446-[HNOI2008]Cards【Burnside引理,dp】
  7. 如何用Jquery做图片展示效果
  8. 工作的思考十四:增强看待问题(BUG)的敏锐度
  9. yum 更新内核报错 “Error: initscripts conflicts with centos-release-7-0.1406.el7.centos.2.3.x86_64的解决办法
  10. linux看配置命令,Linux下命令行查看系统配置
  11. Flashlight should be gray after finishing Recor...
  12. python 决策树回归参数_python决策树之CART分类回归树详解
  13. Linux学习笔记5-linux中的磁盘
  14. 要想混得好,必须认识21个人!
  15. Oracle ORA-00119和ORA-00132的解决方案
  16. python3中英文混合字符串的分离
  17. vm虚拟机搭建click house(单机)
  18. keil MDK 中使用虚拟串口调试串口
  19. Tire Defect Detection Using Fully Convolutional Network-论文阅读笔记
  20. mooc 恋爱 人格 职场学习笔记

热门文章

  1. eHIDS 一款基于eBPF的HIDS开源工具
  2. 跟循泰国国内游宣传曲MV,像本地人一样游曼谷
  3. 微软官方推安全管家,或许不是一场作秀
  4. 计算机组成原理 总线与微命令实验
  5. ALLEGRO 中导入PADS的asc文件时显示pads_in.log does not exit
  6. PADS9.5—layout中导入.asc文件时遇到的问题
  7. 华三交换机 RRPP V7版本
  8. 阿里巴巴年报来了,一天收入6.85亿
  9. Keychron K7 Pro 轻薄矮轴机械键盘开箱体验
  10. Linux OS7 常用