我们在用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 版权所有,除注明外皆为原创。文章仅为作者个人观点,不代表醉风云立场。
Thanks for sharing your thoughts on 建站教程.
Regards
Bug原因:时差,解决办法:设置为北京时间即可…
留言这里统计留言数量这个是怎么实现的呢,好好奇啊
@reliableshare 其实只要懂一点PHP基础就明白了,计算一下条数即可
这个比较实用
你的PR变成3啦! 😛
@花七七 确实是,我也才发现,谢谢提醒
最近想好好看看PHP,头都大了“`
@周良 我也在学习中…
你首页上面怎么显示有些不正常了~ 😯
@红色石头 截图看看?如何不正常?错位还是其他? 👿
@huishao 刷新又好了,呵呵~~~php的date需要设置时区的,不然显示的时间和实际的时间差12小时,我的博客里面在线天数也用到了,不过我也没有管他~无所谓了~
@huishao 又出现这个问题~你qq多少,我加你,或者你加我642742669
@红色石头 什么问题,不可能哇。我273250950.加你了
学习啦~
@南寻 我首页有不正常或者错位吗? ❓
博友大全为什么不弄个二级域名,或者独立域名? 😀
@免费资源部落 那个是借用wordpress页面功能设计的,没法重新弄,只能这样子。可能以后我会弄个新站吧
php 不懂 ❗
你也玩起代码?
@Musk 我一直都在玩代码…已经修改了3款主题了
@huishao 厉害啊