在本教程中,我们将学习如何使用一些有用的PHP日期和时间函数来处理日期和时间。
计算机系统将日期和时间存储为UNIX时间戳,或者只是时间戳。时间戳是一个整数,它表示要存储的日期和时间与1970-01-01 00:00:00 UTC之间的秒数差。
计算机将日期和时间存储为时间戳,原因如下:
PHP提供各种直接操作时间戳的日期和时间函数。
要获取web服务器的当前日期和时间,可以使用time()函数,如下所示:
<?php
echo
time();
//1573133576
time()以时间戳的形式返回当前时间,因此不方便阅读。幸运的是,PHP提供了几个函数来帮助您将时间戳格式化为人类可读的字符串。
可以使用date()函数将时间戳格式化为指定格式的日期和时间字符串,如下所示:
date
(
"F j, Y, g:i a"
,time());
// December 26, 2017, 12:15 pm
date()函数的第二个参数的默认值是当前的日期和时间,因此可以忽略它,如下所示:
);
PHP提供了一些有用的函数来创建时间戳。以下是常用的函数:mktime()、gmmktime()和strtotime()。
mktime()函数基于最多6个参数来返回时间戳:年份(19xx)、月份(1-12)、日(1-31)、小时(0-24)、分钟(0-59)和秒(0-59)。
下面的例子显示了1970年1月1日凌晨1:30的时间戳:
mktime
(1,30,0,1,1,1970);
// 5400
要从GMT日期和时间创建时间戳,可以使用gmmktime()函数。
gmmktime
两个函数都是根据相同的输入参数返回UNIX时间戳。但是,mktime()函数返回一个指定时区的值,而gmmktime()函数返回任何地方都相同的时间戳。
PHP提供了strtotime()函数来将日期和时间字符串转换为时间戳,这在某些情况下非常有用。
使用strtotime()函数,您可以传递几乎任何人类可读的格式,例如
strtotime
"now"
),
"\n"
;
"10 September 2000"
"+1 day"
"+1 week"
"+1 week 2 days 4 hours 2 seconds"
"next Thursday"
"last Monday"
"2nd September 1990 12:00pm"
?>
要从时间戳获取日期和时间值,可以使用getdate()函数。它将返回一个包含日期和时间值的关联数组。
timestamp参数的默认值是现在或者time()函数的结果。
让我们看下面的例子:
var_dump(
getdate
());
输出:
array(11) {
["seconds"]=>
int(44)
["minutes"]=>
int(34)
["hours"]=>
int(12)
["mday"]=>
int(26)
["wday"]=>
int(4)
["mon"]=>
["year"]=>
int(2018)
["yday"]=>
int(359)
["weekday"]=>
string(8) "Thursday"
["month"]=>
string(8) "December"
[0]=>
int(1571334884)
}
下面的例子使用了getdate()函数来显示UNIX时间
$ts
=
'1 January 1970'
$unix_time
sprintf(
" Unix 时间, 或者 POSIX 时间, 是 %d.%d.%d"
,
[
'year'
],
'mon'
'mday'
]);
原文链接:https://codingdict.com/