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"); 显示的格式: 年-月-日 小时:分钟:秒
相关时间参数:

[task]
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"

[/task]

我的博友大全有一个新站提交系统,利用的是一个建议留言板,它其中就有一个获取提交时间的代码,就是这个页面(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,问题解决。

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

22 条评论

  • judi poker online 5年前(2019-01-31)

    Thanks for sharing your thoughts on 建站教程.

    Regards

  • Jooies 11年前(2013-03-30)

    Bug原因:时差,解决办法:设置为北京时间即可…

  • reliableshare 11年前(2013-03-24)

    留言这里统计留言数量这个是怎么实现的呢,好好奇啊

  • reliableshare 11年前(2013-03-24)

    这个比较实用

  • 花七七 11年前(2013-02-05)

    你的PR变成3啦! 😛

    • huishao 11年前(2013-02-05)

      @花七七 确实是,我也才发现,谢谢提醒

  • 周良 11年前(2013-02-05)

    最近想好好看看PHP,头都大了“`

    • huishao 11年前(2013-02-05)

      @周良 我也在学习中…

  • 红色石头 11年前(2013-02-04)

    你首页上面怎么显示有些不正常了~ 😯

    • huishao 11年前(2013-02-04)

      @红色石头 截图看看?如何不正常?错位还是其他? 👿

      • 红色石头 11年前(2013-02-04)

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

      • 红色石头 11年前(2013-02-04)

        @huishao 又出现这个问题~你qq多少,我加你,或者你加我642742669

        • huishao 11年前(2013-02-04)

          @红色石头 什么问题,不可能哇。我273250950.加你了

  • 南寻 11年前(2013-02-04)

    学习啦~ :mrgreen:

    • huishao 11年前(2013-02-04)

      @南寻 我首页有不正常或者错位吗? ❓

  • 免费资源部落 11年前(2013-02-04)

    博友大全为什么不弄个二级域名,或者独立域名? 😀

    • huishao 11年前(2013-02-04)

      @免费资源部落 那个是借用wordpress页面功能设计的,没法重新弄,只能这样子。可能以后我会弄个新站吧

  • 爱软E 11年前(2013-02-03)

    php 不懂 ❗

  • Musk 11年前(2013-02-02)

    你也玩起代码?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注