PHP |日期和时间用法介绍

日期和时间是PHP在执行SQL查询或设计网站等过程中最常用的操作。PHP为我们提供了用于这些任务的预定义功能。下面讨论了PHP中用于日期和时间的一些预定义函数。
PHP date()函数
PHP date()函数将时间戳转换为更具可读性的日期和时间格式。
为什么我们需要date()函数?
【PHP |日期和时间用法介绍】计算机以称为UNIX时间戳的格式存储日期和时间, 该时间以自Unix纪元开始(1970年1月1日午夜格林威治标准时间, 即1970年1月1日格林尼治标准时间)开始的秒数计量时间。
由于这对于人类来说是一种不切实际的格式, 因此PHP会将时间戳转换为人类可读且更易理解的格式。
语法如下:

date(format, timestamp)

说明:
  1. date()函数中的format参数指定返回的日期和时间的格式。
  2. 时间戳是一个可选参数, 如果不包含时间戳, 则将使用当前日期和时间。
下面的程序说明了PHP中date()函数的用法:
< ?phpecho "Today's date is :" ; $today = date ( "d/m/Y" ); echo $today ; ?>

输出如下:
Today's date is :05/12/2017

date()函数中可用的格式化选项
:date()函数的format参数是一个字符串, 可以包含多个字符, 从而可以生成各种格式的日期。
格式字符串中常用的与日期相关的格式字符:
  • d –代表月中的某天;带有前导零的两位数字(01或31)。
  • D –表示星期几的缩写形式(周一至周日)。
  • m –表示月份中带有前导零(01或12)的月份。
  • M –代表月份的月份, 缩写(1月至12月)。
  • y –用两位数字表示年份(08或14)。
  • Y –以四位数字表示年份(2008或2014)。
  • 可以通过插入其他字符(例如连字符(-), 点(。), 斜杠(/)或空格)来分隔日期的各部分, 以添加其他视觉格式。
< ?php echo "Today's date in various formats:" . "\n" ; echo date ( "d/m/Y" ) . "\n" ; echo date ( "d-m-Y" ) . "\n" ; echo date ( "d.m.Y" ) . "\n" ; echo date ( "d.M.Y/D" ); ?>

输出如下:
Today's date in various formats:05/12/201705-12-201705.12.201705.Dec.2017/Tue

以下字符可与date()函数一起使用以格式化时间字符串:
  • h –以12小时格式表示小时, 前导零(01至12)。
  • H –以24小时格式表示小时, 前导零(00至23)。
  • i –代表分钟, 前导零(00至59)。
  • s –表示秒, 前导零(00至59)。
  • a –表示小写的前子午线和后子午线(上午或下午)。
  • A –代表大写的前子午线和后子午线(AM或PM)。
< ?php echo date ( "h:i:s" ) . "\n" ; echo date ( "M, d, Y h:i:s A" ) . "\n" ; echo date ( "h:i a" ); ?>

输出如下:
03:04:17Dec, 05, 2017 03:04:17 PM03:04 pm

PHP time()函数
time()函数用于获取当前时间作为Unix时间戳(自Unix纪元开始的秒数:1970年1月1日00:00:00 GMT)。
以下字符可用于格式化时间字符串:
  • h –以12小时格式表示小时, 前导零(01至12)。
  • H –以24小时格式表示小时, 前导零(00至23)。
  • i –代表分钟, 前导零(00至59)。
  • s –表示秒, 前导零(00至59)。
  • a –表示小写的前子午线和后子午线(上午或下午)。
  • A –代表大写的前子午线和后子午线(AM或PM)。
下面的程序说明了time()函数在PHP中的用法:
< ?php$timestamp = time(); echo ( $timestamp ); echo "\n" ; echo ( date ( "F d, Y h:i:s A" , $timestamp )); ?>

输出如下:
1512486297December 05, 2017 03:04:57 PM

PHP mktime()函数
mktime()函数用于为特定日期和时间创建时间戳。
如果未提供日期和时间, 则返回当前日期和时间的时间戳。
语法如下:
mktime(hour, minute, second, month, day, year)

输入如下:
< ?php echo mktime (23, 21, 50, 11, 25, 2017); ?>

输出如下:
1511652110

上面的代码为2017年11月25日23时21分50秒创建了一个时间戳。

    推荐阅读