javascript+php实现根据用户时区显示当地时间的方法

 这篇文章主要介绍了javascript+php实现根据用户时区显示当地时间的方法,实例分析javascript获取客户端时区及与服务器端php交互的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 
 

本文实例讲述了javascript+php实现根据用户时区显示当地时间的方法。分享给大家供大家参考。具体如下:

在跨时区应用中会用到下面代码,这是以前写的一段代码。

服务器保存相关时间配置,保存形式为GMT时间,客户端需要根据客户所在时区做相应显示,以符合客户习惯。

1. JavaScript代码如下:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

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代码:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

//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程序设计有所帮助。

时间: 2024-10-04 17:58:55

javascript+php实现根据用户时区显示当地时间的方法的相关文章

mvc C# JavaScript LigerUI oracle实现用户的注册、登陆验证、登陆_C#教程

一.登录数据库,在数据库中创建表User00,并且插入数据. 表的字段分别为: Id(编号).Name(姓名).Grid(级别).Score(积分).Password(密码).Age(年龄).Code(邀请码).(其中编号是自动编号) 部分命令如下: select * from User00; /*查询User00*/ insert into User00 values('one','优',10000,'123',24); /*插入一行数据*/ update User00 set Grid='优

Javascript实现通过选择周数显示开始日和结束日的实现代码_javascript技巧

 最近在一个项目中遇到一个查询页面,其中一个查询条件是根据选择的年份.月以及周数显示选择的该周从几号到几号,这样一个需求.在网上搜索了一下,有类似的但是没有完全一样的,只好自己动手.思路是首先取得所选择的该年月1号这一天是星期几,然后算出这一周中周一的日期. 以此为基点,第1周的结束日即为这一天加6,第2周的开始日为这一天加7,结束日为这一天加13,以此类推,直到推算出第5周的开始日和结束日. 具体代码如下: //该方法有两个参数,date是给定的日期型参数,days是需要在该日期进行加减的天数

javascript控制页面控件隐藏显示的两种方法

javascript|控件|控制|显示|页面 javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: document.all["PanelSMS"].style.visibility="hidden"; document.all["PanelSMS"].style.visibility="visible"; 方法二: document.all["PanelSMS

写一个用户在线显示的程序

在开始这篇文章时,作者假设读者已能够写出一个用户的登入认证程序. ---------------------------------------------------------- 记数器可完成访问 web 页的总次数,但却不能得知一个时段中访问量的动态记载,下面就来介绍如何写一个各个时段动态显示访问量的方法. 要记载访问量,首先就要在 mysql 内建立一个数据库,姑且给这个数据库取名为 line,同时建立一个名为 line 的数据表,表内的字段分别为"用户名(name varchar(20

JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法

  本文实例讲述了JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法.分享给大家供大家参考.具体如下: html代码: ? 1 2 3 4 5 6 7 8 9 <form name="searchform" id="search-form"> <div> <b>Search</b> <input type="text" name="txtInput" t

JavaScript使表单中的内容显示在屏幕上的方法

  本文实例讲述了JavaScript使表单中的内容显示在屏幕上的方法.分享给大家供大家参考.具体实现方法如下: 一.使内容水平出现 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <head> <title>测试</title> <script type="text/javascript"> function to() { var txt=document.getElement

javascript实现点击后变换按钮显示文字的方法

  本文实例讲述了javascript实现点击后变换按钮显示文字的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <html xmlns="http://www.w3.org/1999/xhtml"> <head>

JavaScript通过this变量快速找出用户选中radio按钮的方法

 这篇文章主要介绍了JavaScript通过this变量快速找出用户选中radio按钮的方法,涉及javascript中this变量的使用技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript通过this变量快速找出用户选中radio按钮的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过this变量结合radio按钮的onchange事件快速找出用户选择的哪一个radio按钮 ? 1 2 3 4 5 6 7 8 9 10 11 <script>

JavaScript实现在标题栏上显示当前日期的方法

 这篇文章主要介绍了JavaScript实现在标题栏上显示当前日期的方法,涉及javascript操作时间及DOM节点的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了JavaScript实现在标题栏上显示当前日期的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <script language="JavaScript"> <!-- function writeIt() { // getDate var now = new Date