php从入门到精通 php从入门到精通PHP是什么php环境搭建php echo/print 打印输出PHP date()函数:日期和时间PHP语法PHP 变量PHP 常用数据类型PHP常量PHP运算符PHP if语句PHP Switch语句PHP for和foreach 循环PHP while 循环PHP退出循环PHP 函数PHP 类与对象PHP命名空间PHP超全局变量PHP 表单 PHP表单提交PHP 表单验证PHP 日常操作 PHP多维数组PHP Include和require用法PHP 打开/读取/输出/关闭文件PHP 创建/写入文件PHP 上传文件PHP 复制/移动/删除文件PHP判断目录文件是否存在PHP获取文件属性和权限PHP cookiePHP SessionPHP Mysql数据库 创建/选择/删除Mysql数据库创建/删除Mysql数据表修改/重命名Mysql数据表Mysql数据管理PHP 连接MySQL数据库PHP 创建MySQL数据库PHP创建Mysql数据表PHP插入Mysql数据PHP查询Mysql数据PHP MySQL Order By排序PHP MySQL UPDATE更新数据PHP MySQL Delete删除数据

PHP date()函数:日期和时间

函数说明

date()-获取系统的格林威治(也可以说是本地日期和时间)日期和时间

函数语法

string date ( string $format [, int $timestamp = time() ] )

有颜色的string和int代表返回类型,分别是字符串和整形,date()的fromat参数是使用自定义的日期和时间格式输出,timestamp是可选参数,是时间戳,如果没有选择时间戳,则默认为time()是当前时间戳。

参数format的格式化选项表


参数

说明

format

必需。规定输出日期字符串的格式。可使用下列字符:

  • Y - 年份的4位数表示(比如1911年或2018年) 

  • y - 年份的2位数表示(比如11年或18年)

  • m - 月份的数字表示,有前导零(比如:从 01 到 12)

  • M - 月份的短文本表示(用三个字母表示 比如:Jan~Dec)

  • n - 月份的数字表示,不带前导零(1 到 12)

  • F - 月份的完整的文本表示(January[一月份] 到 December[十二月份])

  • d - 一个月中的第几天,有前导零(比如:从 01 到 31)

  • j - 一个月中的第几天,不带前导零(1 到 31)

  • D - 星期几的文本表示(用三个字母表示 比如:Mon~Sun)

  • a - 小写形式表示的上午或者下午值:am 或 pm

  • A - 大写形式表示的上午或者下午值:AM 或 PM

  • 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 中新增的)

  • U - 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过的秒数

  • l('L' 的小写形式)- 星期几的完整的文本表示

  • N - 星期几的 ISO-8601 数字格式表示(1 表示 Monday[星期一],7 表示 Sunday[星期日])

  • S - 一个月中的第几天的英语序数后缀(2 个字符:st、nd、rd 或 th。与 j 搭配使用)

  • w - 星期几的数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六])

  • t - 给定月份中包含的天数

  • z - 一年中的第几天(从 0 到 365)

  • W - 用 ISO-8601 数字格式表示一年中的星期数字(每周从 Monday[星期一]开始)

  • L - 是否是闰年(如果是闰年则为 1,否则为 0)

  • o - ISO-8601 标准下的年份数字

  • B - Swatch Internet 标准时间(000 到 999)

  • e - 时区标识符(例如:UTC、GMT、Atlantic/Azores)

  • I(i 的大写形式)- 日期是否是在夏令时(如果是夏令时则为 1,否则为 0)

  • O - 格林威治时间(GMT)的差值,单位是小时(实例:+0100)

  • P - 格林威治时间(GMT)的差值,单位是 hours:minutes(PHP 5.1.3 中新增的)

  • T - 时区的简写(实例:EST、MDT)

  • Z - 以秒为单位的时区偏移量。UTC 以西时区的偏移量为负数(-43200 到 50400)

  • c - ISO-8601 标准的日期(例如 2013-05-05T16:34:42+00:00)

  • r - RFC 2822 格式的日期(例如 Fri, 12 Apr 2013 12:01:05 +0200)

实例代码

<?php
     // "//"双斜杆为注解,不执行。</br>为html代码换行,timetamp没填所以为当前时间相等于time()函数
   echo date('Y-m-d G:i:s a')."</br>";
   echo date('Y年m月d日G时i分s秒 上下午标识:A')."</br>";
   echo date('Y年m月d日',strtotime('1986-10-07'))."</br>";//timestamp时间戳参数为指定日期
   echo date('英文月份:F,星期中的第几天缩写:D',strtotime('1986-10-07'))."</br>";
   
?>

运行结果

2018-07-30 15:18:03 pm
2018年07月30日15时18分03秒 上下午标识:PM
1986年10月07日
英文月份:October,星期中的第几天缩写:Tue

技术难点

在使用date()函数的过程中可能会遇到页面报错:Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.或者为什么当前的时间比正常的时间少了8个小时,原因是系统的输出当前时间是格林威治时间,而不是我们使用的中国时间。