本文实例讲述了javascript+php实现根据用户时区显示当地时间的方法。分享给大家供大家参考。具体如下:
在跨时区应用中会用到下面代码,这是以前写的一段代码。
服务器保存相关时间配置,保存形式为GMT时间,客户端需要根据客户所在时区做相应显示,以符合客户习惯。
1. JavaScript代码如下:
window.onload = function() { //TODO begin 处理登陆用户时区 //获得登陆用户时区与GMT时区的差值 var exp = new Date(); var gmtHours = -(exp.getTimezoneOffset()/60); setCookie('customer_timezone',gmtHours,1); //判断是否为夏令时 date = exp.format('yyyy-MM-dd HH:mm:ss'); if(inDaylightTime(date)){ setCookie('inDaylightTime',1,1); } } //设置Cookie function setCookie(c_name,value,expiredays){ var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) "" : "; expires="+exdate.toGMTString()) } //判断时间是东半球还是西半球 function isEastEarthTime(newDate) { var dj= newDate.getGMTOffset(false); if (dj.indexOf("-") == -1){ return true; } else { return false; } } //是否是夏令时 function inDaylightTime(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 (this.isEastEarthTime(date)) { margin = middle.getTimezoneOffset(); } else { margin = start.getTimezoneOffset(); } if (date.getTimezoneOffset() == margin) { return true; } return false; } //DONE end
2. 服务器端php代码:
//24小时内 GMT到本地时间的转换 function gmt_to_local($time = '', $dst = FALSE){ //JavaScript设置Cookie,PHP取值 if (isset($_COOKIE["customer_timezone"])){ $timezone = $_COOKIE["customer_timezone"]; }else{ $timezone = 0; } if ($time == ''){ return now(); } //时间处理 $time += $timezone * 3600; //是否为夏令时 if(isset($_COOKIE["inDaylightTime"]) && $_COOKIE["inDaylightTime"]==1) { $dst = TRUE; } if ($dst == TRUE){ $time += 3600; } return date("H:i",$time); }
希望本文所述对大家的php程序设计有所帮助。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 王艺翔.2024-至暖(EP)【乐人】【FLAC分轨】
- 樊桐舟《流年微词HQCD》WAV+CUE
- Rachmaninoff-SymphonicDances-BerlinerPhilharmoniker,KirillPetrenko(2024)[24-96]
- 岡部啓一《NieRGestaltReplicantOrchestralArrangementAlbum》24-96\FLAC
- 群星《心光》[FLAC/分轨][307.76MB]
- 许茹芸《讨好》[WAV+CUE][1G]
- 唐磊《丁香花》[WAV+CUE]
- 刘德华.2001-天开了【BMG】【WAV+CUE】
- 群星.2013-顾嘉辉大师经典演唱会3CD【爱我音乐】【WAV+CUE】
- 费翔.2000-费常翔念2CD【环球】【WAV+CUE】
- Rachmaninoff-SuitesNos.12,TheSleepingBeauty-MikuOmine,TakakoTakahashi(2024)[24-
- 童丽《影视金曲(1:1黄金母盘版)》[WAV]
- 柏菲·胭花四乐《胭花四乐》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 群星《监听耳机天碟》2018[WAV分轨][1G]
- 群星《娱协奖原创金曲合辑》滚石[WAV+CUE][1.1G]