📜  PHP-日期和时间

📅  最后修改于: 2020-10-21 05:14:58             🧑  作者: Mango


日期是日常生活中的重要组成部分,因此无需思考就可以轻松地与他们合作。 PHP还提供了用于日期算术的强大工具,可轻松操作日期。

使用time()获取时间戳

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

time()返回的整数表示自1970年1月1日午夜GMT以来经过的秒数。此刻称为UNIX时期,此后经过的秒数称为时间戳记。


这将产生以下结果-

1480930103

这是很难理解的东西。但是PHP提供了出色的工具,可以将时间戳转换为人类可以接受的形式。

使用getdate()转换时间戳

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

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

Sr.No Key & Description Example
1

seconds

Seconds past the minutes (0-59)

20
2

minutes

Minutes past the hour (0 – 59)

29
3

hours

Hours of the day (0 – 23)

22
4

mday

Day of the month (1 – 31)

11
5

wday

Day of the week (0 – 6)

4
6

mon

Month of the year (1 – 12)

7
7

year

Year (4 digits)

1997
8

yday

Day of year ( 0 – 365 )

19
9

weekday

Day of the week

Thursday
10

month

Month of the year

January
11

0

Timestamp

948370048

现在,您可以完全控制日期和时间。您可以将日期和时间设置为所需的任何格式。

试试下面的例子

 $val ){
      print "$key = $val
"; } $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()的格式字符串中的任何其他数据都将包含在返回值中。

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

Sr.No Format & Description Example
1

a

‘am’ or ‘pm’ lowercase

pm
2

A

‘AM’ or ‘PM’ uppercase

PM
3

d

Day of month, a number with leading zeroes

20
4

D

Day of week (three letters)

Thu
5

F

Month name

January
6

h

Hour (12-hour format – leading zeroes)

12
7

H

Hour (24-hour format – leading zeroes)

22
8

g

Hour (12-hour format – no leading zeroes)

12
9

G

Hour (24-hour format – no leading zeroes)

22
10

i

Minutes ( 0 – 59 )

23
11

j

Day of the month (no leading zeroes

20
12

l (Lower ‘L’)

Day of the week

Thursday
13

L

Leap year (‘1’ for yes, ‘0’ for no)

1
14

m

Month of year (number – leading zeroes)

1
15

M

Month of year (three letters)

Jan
16

r

The RFC 2822 formatted date

Thu, 21 Dec 2000 16:01:07 +0200
17

n

Month of year (number – no leading zeroes)

2
18

s

Seconds of hour

20
19

U

Time stamp

948372444
20

y

Year (two digits)

06
21

Y

Year (four digits)

2006
22

z

Day of year (0 – 365)

206
23

Z

Offset in seconds from GMT

+5

试试下面的例子

", time());
   echo "
"; 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日期和时间函数中提供了所有日期和时间函数的完整列表