PHP网页如何简单获取当前时间以及PHPdate(“Y-m-d H:i:s”)错误解决办法

正在很努力的加载中...

我们在用PHP做网页的时候,经常要获取当前的时间。比如在设计留言板得时候,需要获取留言时间,做导航的时候,也要获取当前时间,发表文章要获取发表日期…等等,那么,获取当前时间的代码如何写呢?

有人用JS代码来获取当前时间,浪费服务器资源不说,大大减慢了网站的打开速度,所以,我们常用的获取时间有两种方法。

如果只是在网页上显示当前时间,一种不浪费系统资源的方法就是调用其他网站的时间,或者调用其他网站的FLASH时钟,简洁方便,样式美观。比如如下代码:
<iframe src="http://www.1t2t.com/1t/so1.htm" height="52" width="172" frameborder="0" scrolling="no"></iframe>
如果不是单单显示时间,而是要调用时间用作其他事情,这里有一种非常简单的方法,可以利用操作系统,获取到当前的系统时间,不过会稍微占用系统资源(可以忽略了),代码很简单:
PHP date("Y-m-d H:i:s");

date时间格式
date(“Y-m-d H:i:s”); 显示的格式: 年-月-日 小时:分钟:秒
相关时间参数:


a – “am” 或是 “pm”
A – “AM” 或是 “PM”
d – 几日,二位数字,若不足二位则前面补零; 如: “01” 至 “31”
D – 星期几,三个英文字母; 如: “Fri”
F – 月份,英文全名; 如: “January”
h – 12 小时制的小时; 如: “01” 至 “12”
H – 24 小时制的小时; 如: “00” 至 “23”
g – 12 小时制的小时,不足二位不补零; 如: “1” 至 12″
G – 24 小时制的小时,不足二位不补零; 如: “0” 至 “23”
i – 分钟; 如: “00” 至 “59”
j – 几日,二位数字,若不足二位不补零; 如: “1” 至 “31”
l – 星期几,英文全名; 如: “Friday”
m – 月份,二位数字,若不足二位则在前面补零; 如: “01” 至 “12”
n – 月份,二位数字,若不足二位则不补零; 如: “1” 至 “12”
M – 月份,三个英文字母; 如: “Jan”
s – 秒; 如: “00” 至 “59”
S – 字尾加英文序数,二个英文字母; 如: “th”,”nd”
t – 指定月份的天数; 如: “28” 至 “31”
U – 总秒数
w – 数字型的星期几,如: “0” (星期日) 至 “6” (星期六)
Y – 年,四位数字; 如: “1999”
y – 年,二位数字; 如: “99”
z – 一年中的第几天; 如: “0” 至 “365”

我的博友大全有一个新站提交系统,利用的是一个建议留言板,它其中就有一个获取提交时间的代码,就是这个页面(http://www.zuifengyun.com/newblog/contact_book.php),但是之前获取的时间一直不对,与北京时间相差正好16个小时,我打开了这个留言板所有的文件,多次查找,找到了这个时间代码,正是获取当前系统时间的简易代码,如下:
$str=date('Y/m/d H:i:s')
于是我在网上找教程,终于找到了解决时间错误的方法。原因:从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时。由于我的主机不是win主机而是Linx主机,所以相差时间有所差别,但是也刚好是16个小时。

解决方法一:

再添加时间前 插入:CODE:(好像不用加) date_default_timezone_set(PRC);

解决方法二(推荐):

$str=date("Y/m/d H:i:s", time()+16*60*60)

解决方法三(修改php.ini文件,适用于win系统的VPS):

找到php.ini中的“;date.timezone =”这行,将“;”去掉,改成“date.timezone = PRC”(PRC:People’s Republic of China 中华人民共和国),重启Apache,问题解决。

文章出自:http://www.zuifengyun.com/php-obtain-the-current-time.html 版权所有,除注明外皆为原创。文章仅为作者个人观点,不代表醉风云立场。

正在很努力的加载中...

关于本文作者:HuiSir

建站爱好者,互联网评论家,网页视觉设计师

    • 截图看看?如何不正常?错位还是其他? 👿

      • 刷新又好了,呵呵~~~php的date需要设置时区的,不然显示的时间和实际的时间差12小时,我的博客里面在线天数也用到了,不过我也没有管他~无所谓了~

    • 那个是借用wordpress页面功能设计的,没法重新弄,只能这样子。可能以后我会弄个新站吧