PHP |日期和时间用法介绍

2021年3月15日08:52:09 发表评论 850 次浏览

日期和时间是PHP在执行SQL查询或设计网站等过程中最常用的操作。PHP为我们提供了用于这些任务的预定义功能。下面讨论了PHP中用于日期和时间的一些预定义函数。

PHP date()函数

PHP date()函数将时间戳转换为更具可读性的日期和时间格式。

为什么我们需要date()函数?

计算机以称为UNIX时间戳的格式存储日期和时间, 该时间以自Unix纪元开始(1970年1月1日午夜格林威治标准时间, 即1970年1月1日格林尼治标准时间)开始的秒数计量时间。

由于这对于人类来说是一种不切实际的格式, 因此PHP会将时间戳转换为人类可读且更易理解的格式。

语法如下:

date(format, timestamp)

说明:

  1. date()函数中的format参数指定返回的日期和时间的格式。
  2. 时间戳是一个可选参数, 如果不包含时间戳, 则将使用当前日期和时间。

下面的程序说明了PHP中date()函数的用法:

<?php
  
echo "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/2017
05-12-2017
05.12.2017
05.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:17
Dec, 05, 2017 03:04:17 PM
03: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 ));
  
?>

输出如下:

1512486297
December 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秒创建了一个时间戳。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: