php date to seconds,PHP 日期/时间函数参考

1.checkdate - 验证一个日期的合法性

checkdate (int $month , int $day , int $year )

var_dump(checkdate(8, 31, 2019)); ===>bool(true)

var_dump(checkdate(2, 29, 2019)); ===>bool(false)

2.date_add - 给一个 DateTime 对象增加一定量的天,月,年,小时,分钟 以及秒。

date_sub - 对一个 DateTime 对象减去一定量的 日、月、年、小时、分钟和秒。

date_add (DateTime $object , DateInterval $interval)

参数 必需的 描述

object 是 由 date_create() 返回的 DateTime 类型的对象。此函数会修改这个对象。

interval 是 DateInterval 对象。

$date = date_create('2019-02-05');

date_add($date, date_interval_create_from_date_string('10 days'));

echo date_format($date, 'Y-m-d'); ===> 2019-02-15

3.date_create - 返回一个新的 DateTime 对象

date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

$date = date_create('2019-01-01');

echo date_format($date, 'Y-m-d'); ===>2019-01-01

4.date_date_set - 设置 DateTime 对象的日期

date_date_set (DateTime $object , int $year , int $month , int $day )

$date = date_create();

date_date_set($date, 2019, 2, 3);

echo date_format($date, 'Y-m-d'); ===> 2019-02-03

5.date_diff - 返回两个DateTimeInterface对象之间的差异。

date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = FALSE ] )

参数: 必需

$absolute 否 差异返回是否强制为正

$datetime1 = date_create('2019-10-11');

$datetime2 = date_create('2019-10-13');

//$interval = $datetime1->diff($datetime2);

$interval =date_diff($datetime1,$datetime2);

print_r($interval);

DateInterval Object

(

[y] => 0

[m] => 0

[d] => 2

[h] => 0

[i] => 0

[s] => 0

[f] => 0

[weekday] => 0

[weekday_behavior] => 0

[first_last_day_of] => 0

[invert] => 0 //0 正 1 负

[days] => 2

[special_type] => 0

[special_amount] => 0

[have_weekday_relative] => 0

[have_special_relative] => 0

)

6.date_format - 返回根据给定格式格式化的日期

date_format ( DateTimeInterface $object , string $format )

$date = date_create();

echo date_format($date, 'Y-m-d H:i:s');

7.date_modify - 修改日期时间对象的值

date_modify ( DateTime $object , string $modify )

$date = date_create('2019-12-12');

date_modify($date, '+1 day');

echo date_format($date, 'Y-m-d'); ===> 2019-12-13

8.date_parse - 返回关联数组,其中包含有关给定日期的详细信息

print_r(date_parse("2019-12-12 10:02:00"));

Array

(

[year] => 2019

[month] => 12

[day] => 12

[hour] => 10

[minute] => 2

[second] => 0

[fraction] => 0

[warning_count] => 0

[warnings] => Array

(

)

[error_count] => 0

[errors] => Array

(

)

[is_localtime] =>

)

9.date_time_set - 设置 DateTime 对象的时间

date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 [, int $microseconds = 0 ]] )

$date = date_create('2019-01-01');

date_time_set($date, 14, 55);

echo date_format($date, 'Y-m-d H:i:s') ===>2019-01-01 14:55:00

date_time_set($date, 14, 55, 24);

echo date_format($date, 'Y-m-d H:i:s') ===>2019-01-01 14:55:24

10.date_timestamp_get - 获取Unix时间戳

date_timestamp_get ( DateTimeInterface $object )

$date = date_create('2021-01-01 12:22:33');

echo date_timestamp_get($date);===> 1609474953

11.getdate - 返回一个根据 timestamp 得出的包含有日期信息的关联数组。如果没有给出时间戳则认为是当前本地时间。

$today = getdate();

print_r($today);

Array

(

[seconds] => 35

[minutes] => 4

[hours] => 15

[mday] => 18

[wday] => 4

[mon] => 3

[year] => 2021

[yday] => 76

[weekday] => Thursday

[month] => March

[0] => 1616051075

)

12.strtotime - 将任何字符串的日期时间描述解析为 Unix 时间戳

strtotime ( string $time [, int $now = time() ] )

echo strtotime("now"), "
";

echo strtotime("10 September 2000"), "
";

echo strtotime("+1 day"), "
";

echo strtotime("+1 week"), "
";

echo strtotime("+1 week 2 days 4 hours 2 seconds"), "
";

echo strtotime("next Thursday"), "
";

echo strtotime("last Monday"), "
";