PHP-Date/time 相关函数

PHP-Date/time 相关函数

说明

Date/Time的4个常用函数,
手册:https://www.php.net/manual/zh/refs.calendar.php


代码示例

echo date("Y-m-d H:i:s")."</br>"; //获取现在时间
echo time()."</br>";//获取现在时间戳
echo strtotime("+1 day")."</br>"; //获取明天的时间戳
echo date("Y-m-d H:i:s",strtotime("+1 day"))."</br>";//获取明天的时间
echo date("Y-m-d", strtotime("2014-10-25"))."</br>";//获取指定的日期
echo date("Y-m-d", strtotime("2014-10-25 -1 days"))."</br>";//获取指定的日期的前一天

 
结果:
2019-05-15 18:14:15
1557915255
1558001655
2019-05-16 18:14:15
2014-10-25
2014-10-24

date函数

date — 格式化一个本地时间/日期

date string date ( string $format [, int $timestamp ] )
返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp是可选的,默认值为 time()。
格式字串可以识别以下 format 参数的字符串
日   --- ---

d   月份中的第几天,有前导零的 2 位数字 01 到 31
D   星期中的第几天,文本表示,3 个字母  Mon 到 Sun
j   月份中的第几天,没有前导零   1 到 31
l("L"的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
N   ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加)   1(表示星期一)到 7(表示星期天)
S   每月天数后面的英文后缀,2 个字符   st,nd,rd 或者 th。可以和 j 一起用
w   星期中的第几天,数字表示    0(表示星期天)到 6(表示星期六)
z   年份中的第几天 0 到 365

星期  --- ---

W   ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)  例如:42(当年的第 42 周)
月   --- ---
F   月份,完整的文本格式,例如 January 或者 March  January 到 December
m   数字表示的月份,有前导零    01 到 12
M   三个字母缩写表示的月份 Jan 到 Dec
n   数字表示的月份,没有前导零   1 到 12
t   指定的月份有几天    28 到 31
年   --- ---
L   是否为闰年   如果是闰年为 1,否则为 0
o   ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)   Examples: 1999 or 2003
Y   4 位数字完整表示的年份    例如:1999 或 2003
y   2 位数字表示的年份  例如:99 或 03

时间  --- ---

a   小写的上午和下午值   am 或 pm
A   大写的上午和下午值   AM 或 PM
B   Swatch Internet 标准时 000 到 999
g   小时,12 小时格式,没有前导零    1 到 12
G   小时,24 小时格式,没有前导零    0 到 23
h   小时,12 小时格式,有前导零 01 到 12
H   小时,24 小时格式,有前导零 00 到 23
i   有前导零的分钟数    00 到 59>
s   秒数,有前导零 00 到 59>
u   毫秒 (PHP 5.2.2 新加)。需要注意的是 date() 函数总是返回 000000 因为它只接受 integer 参数, 而 DateTime::format() 才支持毫秒。    示例: 654321

时区  --- ---

e   时区标识(PHP 5.1.0 新加)  例如:UTC,GMT,Atlantic/Azores
I   是否为夏令时  如果是夏令时为 1,否则为 0
O   与格林威治时间相差的小时数   例如:+0200
P   与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加)  例如:+02:00
T   本机所在的时区 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如"Eastern Standard Time",中文版会显示"中国标准时间")。
Z   时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200
完整的日期/时间    --- ---
c   ISO 8601 格式的日期(PHP 5 新加)    2004-02-12T15:19:21+00:00
r   RFC 822 格式的日期   例如:Thu, 21 Dec 2000 16:01:07 +0200
U   从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数   参见 time()

getdate函数

getdate — 取得日期/时间信息

 array getdate ([ int $timestamp = time() ] )
 返回一个根据 timestamp 得出的包含有日期信息的关联数组 array。如果没有给出时间戳则认为是当前本地时间。
 timestamp
 可选的 timestamp 参数是一个 integer 的 Unix 时间戳,如未指定,参数值默认为当前本地时间。也就是说,其值默认为time() 的返回值。
<?php
$today = getdate();
print_r($today);
?>
以上例程的输出类似于:
Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)



返回的关联数组中的键名单元
键名  说明  返回值例子
"seconds"   秒的数字表示  0 到 59
"minutes"   分钟的数字表示 0 到 59
"hours" 小时的数字表示 0 到 23
"mday"  月份中第几天的数字表示 1 到 31
"wday"  星期中第几天的数字表示 0 (周日) 到 6 (周六)
"mon"   月份的数字表示 1 到 12
"year"  4 位数字表示的完整年份    比如: 1999 或 2003
"yday"  一年中第几天的数字表示 0 到 365
"weekday"   星期几的完整文本表示  Sunday 到 Saturday
"month" 月份的完整文本表示,比如 January 或 March    January 到 December
0   自从 Unix 纪元开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似。

time()

time — 返回当前的 Unix 时间戳

 int time ( void ) 
 返回自从 Unix 纪元(格林威治时间 1970 年 1 月1 日 00:00:00)到当前时间的秒数。
 microtime() - 返回当前 Unix 时间戳和微秒数

strtotime()

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

int strtotime ( string $time [, int $now = time() ] )
time
日期/时间字符串。正确格式的说明详见 日期与时间格式。
now
用来计算返回值的时间戳。

结尾

这一个黑夜的孩子,沉浸于冬天,倾心死亡不能自拔,热爱着空虚而寒冷的乡村--《春天,十个海子》

添加新评论