php获得服务器时间,用到的工具:notepad++,步骤如下:
代码如下:
<?php//以中国为时区为示例
date_default_timezone_set("PRC")
echo date("Y年-m月-d日 H:i:s")
?>
说明:输出的时间格式为xxxx-xx-xx xx:xx:xx即2017-03-21 20:45:59
2.将代码放到一个php文件中,以home.php为示例,放到网站目录下边,运行以后的效果:
注意事项:此代码必须在php环境下运行。
date(‘Y-m-d H:i:s’)结果取出来显示的时间总是于本地时间相差8个小时,我的本机是中国标准时间(GTM+8),问题应该是date()取的时间是格林威治时间,那应该怎么配置一下PHP服务器呢?
问题原因所在
从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的
也就是显示的时间(无论用什么php命令)都是格林威治标准时间
和我们的时间(北京时间)差了正好8个小时。
有以下3中方法可以恢复正常的时间。
1、最简单的方法就是不要用php5.1以上的版本
2、如果一定要用,而且不能修改php.ini,则需要在关于时间的初始化的语句的
上面加上 date_default_timezone_set (‘XXX’)
3、一劳永逸,仅限能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
date.timezone = PRC,重启http服务(如apache2或iis等)即可
PHP获取服务器时间和本地时间很简单,可以用内置函数实现,具体代码如下:
记得给分!!!
<?php
//获取服务器时间
echo date("Y-m-d h:i:s")
//获取本地时间(也可以说是你所在时区时间)
date_default_timezone_set('地区') //地区:中国是PRC,或shanghai,chongqing都可
echo date("Y-m-d h:i:s")
?>
当然获取本地时间还可以用JS实现,如下:
<script type="text/javascript">
function showLocale(objD){
var str,colorhead,colorfoot
var yy = objD.getYear()
if(yy<1900) yy = yy+1900
var MM = objD.getMonth()+1
if(MM<10) MM = '0' + MM
var dd = objD.getDate()
if(dd<10) dd = '0' + dd
var hh = objD.getHours()
if(hh<10) hh = '0' + hh
var mm = objD.getMinutes()
if(mm<10) mm = '0' + mm
var ss = objD.getSeconds()
if(ss<10) ss = '0' + ss
var ww = objD.getDay()
if ( ww==0 ) colorhead="<font color=\"#000000\">"
if ( ww > 0 && ww < 6 ) colorhead="<font color=\"#000000\">"
if ( ww==6 ) colorhead="<font color=\"#000000\">"
if (ww==0) ww="星期日"
if (ww==1) ww="星期一"
if (ww==2) ww="星期二"
if (ww==3) ww="星期三"
if (ww==4) ww="星期四"
if (ww==5) ww="星期五"
if (ww==6) ww="星期六"
colorfoot="</font>"
str = colorhead + yy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss + " " + ww + colorfoot
return(str)
}
function tick(){
var today
today = new Date()
document.getElementById("localtime").innerHTML = showLocale(today)
window.setTimeout("tick()", 1000)
}
tick()
</script>
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)