PHP - 日期和时间


日期是日常生活的一部分,因此不假思索地使用它们变得很容易。PHP 还提供了强大的日期算术工具,使操作日期变得容易。

使用 time() 获取时间戳

PHP 的time()函数为您提供有关当前日期和时间的所有信息。它不需要参数但返回一个整数。

time() 返回的整数表示自 1970 年 1 月 1 日格林威治标准时间午夜以来经过的秒数。这一时刻称为 UNIX 纪元,从那时起经过的秒数称为时间戳。

<?php
   print time();
?>

这将产生以下结果 -

1480930103

这是一件很难理解的事情。但是 PHP 提供了出色的工具来将时间戳转换为人类熟悉的形式。

使用 getdate() 转换时间戳

函数getdate()可以选择接受时间戳并返回包含日期信息的关联数组。如果省略时间戳,它将使用 time() 返回的当前时间戳。

下表列出了 getdate() 返回的数组中包含的元素。

先生编号 按键及说明 例子
1

分钟过秒 (0-59)

20
2

分钟

一小时过去的分钟 (0 - 59)

29
3

小时

一天中的几个小时(0 - 23)

22
4

当天

该月的第几天 (1 - 31)

11
5

工作日

星期几 (0 - 6)

4
6

周一

一年中的月份 (1 - 12)

7
7

年份(4 位数字)

1997年
8

一年中的某一天 (0 - 365)

19
9

工作日

一周中的天

周四
10

一年中的月份

一月
11

0

时间戳

948370048

现在您可以完全控制日期和时间。您可以按照您想要的任何格式设置此日期和时间的格式。

例子

尝试下面的例子

<?php
   $date_array = getdate();
   
   foreach ( $date_array as $key => $val ){
      print "$key = $val<br />";
   }
	
   $formated_date  = "Today's date: ";
   $formated_date .= $date_array['mday'] . "/";
   $formated_date .= $date_array['mon'] . "/";
   $formated_date .= $date_array['year'];
   
   print $formated_date;
?>

这将产生以下结果 -

seconds = 10
minutes = 29
hours = 9
mday = 5
wday = 1
mon = 12
year = 2016
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2016

使用 date() 转换时间戳

date ()函数返回表示日期的格式化字符串。您可以对 date() 返回的格式进行大量控制,并带有必须传递给它的字符串参数。

date(format,timestamp)

date() 可选择接受时间戳,如果省略则将使用当前日期和时间。传递给 date() 的格式字符串中包含的任何其他数据都将包含在返回值中。

下表列出了格式字符串可以包含的代码 -

先生编号 格式及描述 例子
1

A

“am”或“pm”小写

下午
2

A

“AM”或“PM”大写

下午
3

d

月份中的某天,带有前导零的数字

20
4

D

星期几(三个字母)

星期四
5

F

月份名称

一月
6

H

小时(12 小时格式 - 前导零)

12
7

H

小时(24 小时格式 - 前导零)

22
8

G

小时(12 小时格式 - 无前导零)

12
9

G

小时(24 小时格式 - 无前导零)

22
10

分钟 (0 - 59)

23
11

j

该月的第几天(无前导零

20
12

l(较低的“L”)

一周中的天

周四
13

L

闰年(“1”表示是,“0”表示否)

1
14

一年中的月份(数字 - 前导零)

1
15

中号

一年中的月份(三个字母)

16

r

RFC 2822 格式化日期

2000 年 12 月 21 日星期四 16:01:07 +0200
17 号

n

一年中的月份(数字 - 无前导零)

2
18

s

每小时的秒数

20
19

U

时间戳

948372444
20

y

年份(两位数)

06
21

年份(四位数)

2006年
22

z

一年中的某一天(0 - 365)

206
23

Z

与 GMT 的偏移(以秒为单位)

+5

例子

尝试下面的例子

<?php
   print date("m/d/y G.i:s<br>", time());
   echo "<br>";
   print "Today is ";
   print date("j of F Y, \a\\t g.i a", time());
?>

这将产生以下结果 -

12/05/16 9:29:47
Today is 5 2016f December 2016 at 9:29 am

希望您充分了解如何根据您的要求格式化日期和时间。PHP 日期和时间函数中给出了所有日期和时间函数的完整列表,供您参考。