php utc 北京时间,美国各个时区转换成北京时间 utc gmt
工作中用到将美国的格格时区转换成北京时间,研究了一下总结了一下方式用来转换。 根据时间差得到下面的转换时间的差值,然后进行统一处理。
export function utcChangeBeijing(date) {
var time_zone = Number(localStorage.getItem('TimeZone')) === 0 ? 1 : Number(localStorage.getItem('TimeZone'))
if (date == '' || date == null) {
return ''
} else {
switch(time_zone) {
case 1:
// 处理北京时间
return TimeFormat(date, 0)
break;
case 2:
// 东部时间 有夏时令和冬时令 相差12个小时, 冬时令相差13个小时
if (IsSumber(date, 1)) {
return TimeFormat(date, 12)
} else {
return TimeFormat(date, 13)
}
case 3:
// 中部时间 有夏时令和冬时令 相差13个小时, 冬时令相差14个小时
if (IsSumber(date, 1)) {
return TimeFormat(date, 13)
} else {
return TimeFormat(date, 14)
}
case 4:
// 山地时间 有夏时令和冬时令 夏时令 相差14个小时, 冬时令相差15个小时
if (IsSumber(date, 1)) {
return TimeFormat(date, 14)
} else {
return TimeFormat(date, 15)
}
case 5:
// 亚利桑那时间 相差15个小时
return TimeFormat(date, 15)
case 6:
// 太平洋时间 有夏时令和冬时令 夏时令 相差15个小时, 冬时令相差16个小时
if (IsSumber(date, 1)) {
return TimeFormat(date, 15)
} else {
return TimeFormat(date, 16)
}
case 7:
// 阿拉斯加时间 有夏时令和冬时令 夏时令 相差17个小时, 冬时令相差18个小时
if (IsSumber(date, 1)) {
return TimeFormat(date, 17)
} else {
return TimeFormat(date, 18)
}
case 8:
// 夏威夷时间 没有夏时令和冬时令 相差18个小时
return TimeFormat(date, 18)
}
}
复制代码
}
#格式化时间转换成YYYY-MM-DD hh-mm-ss,可能方式有点笨拙。就这么解决了。
function TimeFormat(date, timeNumber) {
date = new Date(date)
var time = date.getTime() + timeNumber * 3600 * 1000
var dateNow = new Date(time);
var Y = dateNow.getFullYear() + '-';
var M = (dateNow.getMonth() + 1 < 10 ? '0' + (dateNow.getMonth() + 1) : dateNow.getMonth() + 1) + '-';
var D = (dateNow.getDate() <10 ) ? '0' + dateNow.getDate() + ' ' : dateNow.getDate() + ' ';
var h = (dateNow.getHours() < 10) ? '0' + dateNow.getHours() + ':' : dateNow.getHours() + ':';
var m = (dateNow.getMinutes() < 10) ? '0' + dateNow.getMinutes() + ':' : dateNow.getMinutes() + ':';
var s = (dateNow.getSeconds() < 10) ? '0' + dateNow.getSeconds() : dateNow.getSeconds();
return Y + M + D + h + m + s;
复制代码
}
#判断是东部时区还是西部时区,默认按照东部时区处理了。后台用的php竟然能全部兑上。好神奇
function IsSumber(date, isEast) {
date = new Date(date)
var start = new Date(date.getTime());
start.setMonth(0);
start.setDate(1);
start.setHours(0);
start.setMinutes(0);
start.setSeconds(0);
var middle = new Date(start.getTime());
middle.setMonth(6);
// 如果年始和年中时差相同,则认为此国家没有夏令时
if ((middle.getTimezoneOffset() - start.getTimezoneOffset()) == 0) {
return false;
}
var margin = 0;
if (isEast == 1) {
margin = middle.getTimezoneOffset();
} else {
margin = start.getTimezoneOffset();
}
if (date.getTimezoneOffset() == margin) {
return true;
}
return false;
复制代码
}
在这里额外提醒,如果本地电脑设置的语言不同的话,尽量增加new Date()返回的后面时区的语言。上面这套仅对中国用户有用。
php utc 北京时间,美国各个时区转换成北京时间 utc gmt相关推荐
- c语言 北京时间转换utc时间_UTC时间转换成北京时间C语言函数代码
UTC + 时区差 = 本地时间 时区差东为正,西为负.在此,把东八区时区差记为 +0800, UTC + (+0800) = 本地(北京)时间 (1) 那么,UTC = 本地时间(北京时间))- 0 ...
- UTC时间转换成北京时间C语言函数代码
UTC + 时区差 = 本地时间 时区差东为正,西为负.在此,把东八区时区差记为 +0800, UTC + (+0800) = 本地(北京)时间 (1) 那么,UTC = 本地时间(北京时间))- 0 ...
- PostgreSQL | 将 timestamptz 格式的UTC时间转换成北京时间
PostgreSQL | 将 timestamptz 格式的UTC时间转换成北京时间 1.将UTC时间"2020-08-25 02:11:34.59741+00" 转换成北京时间( ...
- java输出格林威治时间_Java之格林威治时间格式转换成北京时间格式
Java之格林威治时间格式转换成北京时间格式 /** * Copyright 2020. yaodouwang.com Studio All Right Reserved * * Create on ...
- 日期格式:ddMMyy-hhmmss,格林威治时间转换成北京时间
有些项目需要第三方的接口来取数据,这样就有个问题,那就是有些字段比较特殊,采用的都是国际标准时间,方便别的语言调用,这样时间差就相差不一样了,需要进行转换. 例如:GPS的数据时间格式:ddMMyy- ...
- python中将HTTP头部中的GMT时间转换成datetime时间格式
原文: https://blog.csdn.net/zoulonglong/article/details/80585716 需求背景:目前在做接口的自动化测试平台,由于接口用例执行后返回的结果中的时 ...
- mysql 格林时间转换_格林时间转换成正常时间
uscdbmt@rac1:~> date +%s 1414741902 oracle中怎么把这个1414741902转换成正常时间格式 select Numtodsinterval(141474 ...
- js将时间戳转换成正常时间格式两种方法
//将时间戳转换成正常时间格式2 function timestampToTime(timestamp) { var date = new Date(timestamp * 1 ...
- js将时间戳转换成正常时间
//将时间戳转换成正常时间格式function timestampToTime(timestamp) {var date = new Date(timestamp * 1000);//时间戳为10位需 ...
- 格林时间转换成正常时间
uscdbmt@rac1:~> date +%s 1414741902 oracle中怎么把这个1414741902转换成正常时间格式 select Numtodsinterval(141474 ...
最新文章
- 远程办公,为什么一直不被公司普遍接受?
- 字节博士搞的AI火了,一键完美分离人声和伴奏 | 在线可玩
- 经典排序算法(3)——直接插入排序算法详解
- React中构造函数、reader和函数的调用次数和时机测试
- 基于linux的netfilter处理数据包的过程分析,基于Netfilter的网络数据包分析
- 计算机基础ABCDEF,计算机应用基础_在线作业ABCDEF.docx
- linux 更新软件命令 失败,对linux下软件(库)的更新命令详解
- 第5章--电商项目-mysql实战--数据库主从配置
- HBase(2) Java 操作 HBase 教程
- mysql 模糊查询 s_MySql反向模糊查询
- 神经网络基础模型--Logistic Regression的理论和实践
- python 成语库_python正则表达式抓取成语网站
- 『华为ICT』数据通信网络基础
- Excel如何将数据填充完下方的空白单元格
- 今日头条 mysql_今日头条的核心架构解析
- CGAL:Win10 + VS2017 编译 CGAL 5.2
- 我们怎么保证软件开发的质量?
- 刷刷刷!-数据分析必刷文档整理
- [转载]坐标系统与投影变换
- linux还原环境,Linux环境利用恢复被rm意外删除数据文件
热门文章
- 自动登录163邮箱发送邮件(Python+Selenium)
- Maven项目中非resources文件夹中的配置文件不生效的解决办法
- 深度linux如何安装迅雷,deepin官方论坛-深度科技官网旗下网站
- Nlp预处理方法(BPE Byte pair encoding、Normalization、Lemmatisation、Stemming…)
- 对封装的ajax的应用-查询商铺
- CSS设置字体大小、字体粗细、字体风格
- 阿里云商标注册查询入口(支持图形检索/45分类注册风险)
- 004--python--华氏温度和摄氏温度的转换
- 怎样做终端安全防御?
- python实现具有删除空格、英文标点替换、英文单词大写等功能的文字排版工具