JS 跨时区时间解决方案
2017-04-18 17:32
274 查看
由于地球的物理运行规律,地球时间被划分有24个时区,每个时区间隔一个小时,所以经常国外出差的朋友们也会关注一下目的地的时区及当地时间。
当然不仅生活中会受时间的影响,对于WEB程序员开发者开发国际化项目时也会遇到不小的麻烦,比如公司WEB服务器在中国,要确保国外客户访问数据的正常与正确性,得考虑跨时区的问题。既要确保服务器时间的统一性,又要确保时间的重要性。
javaScript开发国际化项目有时也会遇到这个问题,以下为本人根据网络查询所得及结合自身项目情况所写的一个获取不同时区时间的函数方法。
当然不仅生活中会受时间的影响,对于WEB程序员开发者开发国际化项目时也会遇到不小的麻烦,比如公司WEB服务器在中国,要确保国外客户访问数据的正常与正确性,得考虑跨时区的问题。既要确保服务器时间的统一性,又要确保时间的重要性。
javaScript开发国际化项目有时也会遇到这个问题,以下为本人根据网络查询所得及结合自身项目情况所写的一个获取不同时区时间的函数方法。
//得到标准时区的时间 function getLocalTime(i) { //参数i为时区值数字,比如北京为东八区则输入8,西5输入-5,现默认东八区北京时间 var i=i?parseFloat(i):8; //得到本地时间 var d = new Date(); //得到1970年一月一日到现在的秒数 var local = d.getTime(); //本地时间与GMT时间的时间偏移差 var offset = d.getTimezoneOffset() * 60000; //得到现在的格林尼治时间 var utcTime = local + offset; return new Date(utcTime + 3600000 * i); }
//转换服务器时区时间 function formatTime(t,utc){ //t传入的时间参数,utc传入的时区参数 if(!t) return; //获取本地时间 var d=new Date(); //获得本地时区 utc=utc?parseFloat(utc):d.getTimezoneOffset()/60; //格式化传入时间 var time=new Date(t); //转换传入时间为本地时间(默认传入服务器时间为东八区时间) time.setHours(time.getHours()+(utc-8)); //输出时间 var yy=time.getFullYear(); var MM=time.getMonth()+1; MM=MM<10?'0'+MM:MM; var dd=time.getDate(); dd=dd<10?'0'+dd:dd; var hh=time.getHours(); hh=hh<10?'0'+hh:hh; var mm=time.getMinutes(); mm=mm<10?'0'+mm:mm; var ss=time.getSeconds(); ss=ss<10?'0'+ss:ss; var date=yy+'-'+MM+'-'+dd+' '+hh+':'+mm+':'+ss; return date; }
相关文章推荐
- JS 页面时间完整解决方案
- js获得当前时区夏令时发生和终止的时间代码
- PHP跨时区(UTC时间)应用解决方案
- js网页时间字体解决方案
- 关于“时间”的一次探索 关于js时区iso,utc等完美解答
- js 时间转换时区
- js获得当前时区夏令时发生和终止的时间代码
- js 实时显示不同时区时间
- js根据时区修改时间
- 如何使不同时区的时间与京8区一致?(JS实现)
- js 将时间字符串转成秒 (Date.parse()) && 当心默认时区
- js获得当前时区夏令时发生和终止的时间
- JS一个根据时区输出时区时间的函数
- 关于“时间”的一次探索 关于js时区iso,utc等完美解答
- js 时区对应的时间转换
- 服务器上的时间或时区错误,会对js和java取当前时间产生错误
- 关于客户端与服务端时区不同导致客户端上的时间不准问题的解决方案
- node.js mongodb aggregate 分组时时间差8小时的解决方案
- PHP跨时区(UTC时间)应用解决方案
- [c.y.j]js根据地区时区显示时间