php获取当前日期和时间详解

发布时间:2021-01-04编辑:脚本学堂
php获取当前日期和时间详解,有需要的朋友不妨参考下。

系统时区设置

更改 PHP 语言中的时区设置有两种方法:
(1) 修改 php.ini 文件中的设置,找到[date] 下的“;date.timezon=” 选项,将其修改为“date.timezone=Asia/Hong_Kong”,然后重新启动 apache/ target=_blank class=infotextkey>apache服务器
(2) 在应用程序中,在使用时间日期函数之前添加如下函数:
date_default_timezone_set(timezone);参数 timezone 为 PHP 可识别的时区名称,如果时区名称 PHP 无法识别,则系统采用 UTC 时区。例如:date_default_timezone_set("Asia/Hong_Kong");设置完成后,date()函数便可以正常使用,不会再出现时差问题。

输出格式化的日期和时间

在 PHP 中通过 date()函数获取当前的日期和时间。date()函数的语法如下:date(string format,int timestamp).date()函数将返回的参数 timestamp 按照指定格式而产生的字符串。其中的参数 timestamp 是可选的,如果省略,则使用当前时间。format 参数可以使开发人员按其指定的格式输出日期和时间。

参数 format 的格式化选项
a   小写的上午和下午值,返回值 am 或 pm
A   大写的上午和下午值,返回值 AM 或 PM
B   Swatch Internet 标准时间,返回值 000-999
d   月份中的第几天,有前导零的两位数字,返回值 01-31
D   星期中的第几天,文本格式,3个字母,返回值 Mon-Sun
F   月份,完整的文本格式,返回值 January-December
h   小时,12 小时格式,没有前导零,返回值 1-12
H   小时,24 小时格式,没有前导零,返回值 0-24
i   有前导零的分钟数,返回值 00-59
I   判断是否为夏令时,返回值如果是夏令时为 1,否则为 0
j   月份中的第几天,没有前导零,返回值 1-31
l(L的小字)   星期数,完整的文本格式,返回值 Sunday-Saturday
L   判断是否为闰年,返回值如果是闰年为 1,否则为 0
m   数字表示的月份,有前导零,返回值 01-012
M   3个字母缩写表示的月份,返回值 Jan-Dec
n   数字表示的月份,没有前导零,返回值 1-12
O   与格林威治时间相差的小时数,如+0200
r   RFC 822格式的日期,如 Thu,21 Dec 2000 16:01:07+0200
s   秒数,有前导零,返回值 00-59
S   每月天数后面的英文后缀,两个字符,如 st、nd、rd或者 th。可以和 j 一起使用
t   指定月份所应有的天数,28-31
T   本机所在的时区
U   从 UNIX 纪元(January 1 1970 00:00:00 GMT)开始至今的妙数
w   星期中的第几天,数字表示,返回值为 0-6
W   ISO-8601 格式年份中的第几周,每周从星期一开始
y   两位数字表示的年份,返回值如 88 或 08
Y   4 位数字完整的表示年份,返回值如 1998、2008
z   年份中的第几天,返回值 0-366
Z   时差偏移量的秒数。UTC 西边的时区偏移量总是负的。UTC 东边的时区偏移量总是正的,返回值-43200-43200

date()函数可以对 format 选项随意地组合。详细的日期及时间:date("Y-m-d H:i:s");

计算两个日期的差值

复制代码 代码如下:
<?PHP
date_default_timezone_set("Asia/Hong_Kong");
$time1 = strtotime(date("Y-m-d H:i:s"));  //当前的系统时间
$time2 = strtotime("2013-2-10 17:10:00");  //放假的时间
$time3 = strtotime("2013-1-1");  //2013年元旦
$sub1 = ceil(($time2 - $time1)/3600); //(60 秒*60分)秒/小时
$sub2 = ceil(($time3 - $time1)/86400); //(60秒*60分*24小时)秒/天
echo "离放假还有<font color=red>$sub1</font>小时!!!";
echo "<p>";
echo "离 2013 年元旦还有<font color=red>$sub2</font>天!!!";
?>

说明:ceil()函数的格式为 float ceil(float value),该函数为取整函数,返回不小于参数 value 值的最小整数。如果有小数部分,则进一位。应注意该函数的返回类型为 float 型,而不是整型。