«
PHP各种日期时间相关函数

时间:2022-1-13    作者:Deri    分类: PHP


一、时间戳

1、time() -- UTC时间戳,1970年1月1日零点以来的秒数。经实验不受php.ini中date.timezone的影响。

2、microtime() -- 返回类似"0.53294300 1584762409"的字符串,前半部分为毫秒数,后半部分同time()

microtime(true) -- 返回类似1584762409.5325的浮点数

3、mktime(hour,minute,second,month,day,year) --根据输入值得到时间戳
本函数会受到电脑时区的影响。建议使用gmmktime()函数。

4、strtotime(时间表达字符串) -- 返回时间戳

举例:
strtotime("2020-3-3 05:15:33")
strtotime("now")
strtotime("10 September 2000")
strtotime("-1 day")
strtotime("+1 week")
strtotime("+2 week 3 days 4 hours 2 seconds")
strtotime("next Thursday")
strtotime("last Monday")

二、显示

1、date(format,timestamp) --显示指定格式日期。timestamp默认为当前时间戳。

举例:echo date("Y-m-d H:i:s") 显示类似“2020-01-3 20:19:21”

date('t',strtotime("2020-4-1")); //返回2020年4月总的天数

今天:
$tdate=date("Y-m-d");

昨天:
$tdate=date("Y-m-d", strtotime("-1 day"));

明天:
$tdate=date("Y-m-d", strtotime("+1 day"));

2、getdate(时间戳) -- 返回包含日期和时间信息的数组

举例:
$d=getdate(); //不带参数则为当前时间

echo $d["hours"]."-".$d["minutes"]."-".$d["seconds"]; //时间
echo $d["year"]."-".$d["mon"]."-".$d["mday"]; //年月日

三、DateTime对象

(有待进一步理清)
$datetime = new DateTime();

$datetime->setDate(年,月,日);

$datetime->setTime(时,分,秒);

$datetime->setTimestamp(时间戳);
$datetime->format(输出格式);

函数式写法:

$date=date_create("2016-09-25");
echo date_format($date,"Y/m/d");
设置时间:
date_time_set(object,hour,minute,second);

四、运算

1、利用strtotime(运算字符串) -- 将日期时间的运算命令解析为时间戳

日期加法举例:

$d = "2018-03-12 12:15:20";
echo date("Y-m-d", strtotime("$d +1 year"));

2、date_diff() -- 日期相差

$date1=date_create("2020-03-15");
$date2=date_create("2017-12-12");
$diff=date_diff($date1,$date2);

3、date_add() -- 日期加法

举例:加上100天
$date=date_create("2020-03-15");
date_add($date,date_interval_create_from_date_string("100 days"));
echo date_format($date,"Y-m-d");

4、date_sub() -- 日期减法

$date=date_create("2019-09-29");
date_sub($date,date_interval_create_from_date_string("100 days"));
echo date_format($date,"Y-m-d");

五、其他

1、idate(参数,timestamp)-- 返回各种需要的信息,timestamp默认为当前时间

idate和date很多功能重叠。有待总结。

举例:
idate("t") - 返回本月的总天数
idate("z") - 今天是一年中的第几天

标签: PHP 时间戳