PHP 日期详细介绍
简介
你可以使用这些函数获取运行 PHP 的服务器的日期和时间, 也可以使用这些函数把日期和时间 格式化成不同格式的字符串。
日期和时间信息在 PHP 内部是以 64 位数字存储的, 它可以覆盖当前时间前后 2920 亿年的时间,这个范围之广,足以满足现有应用的实际需求。
date() 函数
PHP date() 函数可把时间戳格式化为可读性更好的日期和时间。
Tip时间戳是一个字符序列,表示一定的事件发生的日期/时间。
语法
string date ( string $format [, int $timestamp ] )
| 参数 | 描述 |
|---|---|
| format | 必需。规定时间戳的格式。 |
| timestamp | 可选。规定时间戳。默认是当前的日期和时间。 |
PHP Date() - 格式化日期
date() 函数的第一个必需参数 format 规定了如何格式化日期/时间。
这里列出了一些可用的字符:
- d - 代表月中的天 (01 - 31)
- m - 代表月 (01 - 12)
- Y - 代表年 (四位数)
如需了解 format 参数中可用的所有字符列表,请查阅我们的 PHP Date 参考手册php-ref-date),date() 函数。
可以在字母之间插入其他字符,比如 "/"、"." 或者 "-",这样就可以增加附加格式了:
<?php
echo date("Y/m/d") . "<br>";
echo date("Y.m.d") . "<br>";
echo date("Y-m-d");
?>
上面代码的输出如下所示:
2016/10/21
2016.10.21
2016-10-21
格式字串可以识别以下 format 参数的字符串:
日
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| d | 月份中的第几天,有前导零的 2 位数字 | 01 到 31 |
| D | 星期中的第几天,文本表示,3 个字母 | Mon 到 Sun |
| j | 月份中的第几天,没有前导零 | 1 到 31 |
| l("L"的小写字母) | 星期几,完整的文本格式 | Sunday 到 Saturday |
| N | ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) | 1(表示星期一)到 7(表示星期天) |
| S | 每月天数后面的英文后缀,2 个字符 | st,nd,rd 或者 th。可以和 j 一起用 |
| w | 星期中的第几天,数字表示 | 0(表示星期天)到 6(表示星期六) |
| z | 年份中的第几天 | 0 到 365 |
星期
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| W | ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) | 例如:42(当年的第 42 周) |
月
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| F | 月份,完整的文本格式,例如 January 或者 March | January 到 December |
| m | 数字表示的月份,有前导零 | 01 到 12 |
| M | 三个字母缩写表示的月份 | Jan 到 Dec |
| n | 数字表示的月份,没有前导零 | 1 到 12 |
| t | 给定月份所应有的天数 | 28 到 31 |
年
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| L | 是否为闰年 | 如果是闰年为 1,否则为 0 |
| o | ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) | Examples: 1999 or 2003 |
| Y | 4 位数字完整表示的年份 | 例如:1999 或 2003 |
| y | 2 位数字表示的年份 | 例如:99 或 03 |
时间
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| a | 小写的上午和下午值 | am 或 pm |
| A | 大写的上午和下午值 | AM 或 PM |
| B | Swatch Internet 标准时 | 000 到 999 |
| 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 新加)。需要注意的是 date() 函数总是返回 000000 因为它只接受 integer 参数, 而 DateTime::format() 才支持毫秒。 | 示例: 654321 |
时区
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| e | 时区标识(PHP 5.1.0 新加) | 例如:UTC,GMT,Atlantic/Azores |
| I | 是否为夏令时 | 如果是夏令时为 1,否则为 0 |
| O | 与格林威治时间相差的小时数 | 例如:+0200 |
| P | 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加) | 例如:+02:00 |
| T | 本机所在的时区 | 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如"Eastern Standard Time",中文版会显示"中国标准时间")。 |
| Z | 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 | -43200 到 43200 |
完整的日期或时间
| format 字符 | 说明 | 返回值例子 |
|---|---|---|
| c | ISO 8601 格式的日期(PHP 5 新加) | 2004-02-12T15:19:21+00:00 |
| r | RFC 822 格式的日期 | 例如:Thu, 21 Dec 2000 16:01:07 +0200 |
| U | 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 | 参见 time() |
完整的 PHP Date 参考手册
如需查看所有日期函数的完整参考手册,请访问 完整的 PHP Date 参考手册。
该参考手册提供了每个函数的简要描述和应用实例!
PHP Date/Time 函数
| 函数 | 描述 |
|---|---|
| checkdate() | 验证格利高里日期。 |
| date_add() | 添加日、月、年、时、分和秒到一个日期。 |
| date_create_from_format() | 返回一个根据指定格式进行格式化的新的 DateTime 对象。 |
| date_create() | 返回一个新的 DateTime 对象。 |
| date_date_set() | 设置一个新的日期。 |
| date_default_timezone_get() | 返回默认时区,被所有的 Date/Time 函数使用。 |
| date_default_timezone_set() | 设置默认时区,被所有的 Date/Time 函数使用。 |
| date_diff() | 返回两个日期间的差值。 |
| date_format() | 返回根据指定格式进行格式化的日期。 |
| date_get_last_errors() | 返回日期字符串中的警告/错误。 |
| date_interval_create_from_date_string() | 从字符串的相关部分建立一个 DateInterval。 |
| date_interval_format() | 格式化时间间隔。 |
| date_isodate_set() | 设置 ISO 日期。 |
| date_modify() | 修改时间戳。 |
| date_offset_get() | 返回时区偏移。 |
| date_parse_from_format() | 根据指定的格式返回一个带有指定日期的详细信息的关联数组。 |
| date_parse() | 返回一个带有指定日期的详细信息的关联数组。 |
| date_sub() | 从指定日期减去日、月、年、时、分和秒。 |
| date_sun_info() | 返回一个包含有关指定日期与地点的日出/日落和黄昏开始/黄昏结束的信息的数组。 |
| date_sunrise() | 返回指定日期与地点的日出时间。 |
| date_sunset() | 返回指定日期与地点的日落时间。 |
| date_time_set() | 设置时间。 |
| date_timestamp_get() | 返回 Unix 时间戳。 |
| date_timestamp_set() | 设置基于 Unix 时间戳的日期和时间。 |
| date_timezone_get() | 返回给定 DateTime 对象的时区。 |
| date_timezone_set() | 设置 DateTime 对象的时区。 |
| date() | 格式化本地日期和时间。 |
| getdate() | 返回某个时间戳或者当前本地的日期/时间的日期/时间信息。 |
| gettimeofday() | 返回当前时间。 |
| gmdate() | 格式化 GMT/UTC 日期和时间。 |
| gmmktime() | 返回 GMT 日期的 UNIX 时间戳。 |
| gmstrftime() | 根据区域设置格式化 GMT/UTC 日期和时间。 |
| idate() | 格式化本地时间/日期为整数。 |
| localtime() | 返回本地时间。 |
| microtime() | 返回当前 Unix 时间戳的微秒数。 |
| mktime() | 返回一个日期的 Unix 时间戳。 |
| strftime() | 根据区域设置格式化本地时间/日期。 |
| strptime() | 解析由 strftime() 生成的时间/日期。 |
| strtotime() | 将任何英文文本的日期或时间描述解析为 Unix 时间戳。 |
| time() | 返回当前时间的 Unix 时间戳。 |
| timezone_abbreviations_list() | 返回包含夏令时、偏移量和时区名称的关联数组。 |
| timezone_identifiers_list() | 返回带有所有时区标识符的数值数组。 |
| timezone_location_get() | 返回指定时区的位置信息。 |
| timezone_name_from_abbr() | 根据时区缩略语返回时区名称。 |
| timezone_name_get() | 返回时区的名称。 |
| timezone_offset_get() | 返回相对于 GMT 的时区偏移。 |
| timezone_open() | 创建一个新的 DateTimeZone 对象。 |
| timezone_transitions_get() | 返回时区的所有转换。 |
| timezone_version_get() | 返回时区数据库的版本。 |
PHP 日期详细介绍的更多相关文章
- Linux截屏工具scrot用法详细介绍
Scrot是Linux命令行中使用的截图工具,能够进行全屏.选取等操作,下面小编将针对Scrot截图工具的用法给大家做个详细介绍,通过操作实例来学习Scrot的使用. 在Linux中安装Scrot ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)
摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...
- linux awk 内置函数详细介绍(实例)
这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y ...
- html <input>标签类型属性type(file、text、radio、hidden等)详细介绍
html <input>标签类型属性type(file.text.radio.hidden等)详细介绍 转载请注明:文章转载自:[169IT-最新最全的IT资讯] html <inp ...
- Apache的rewrite规则详细介绍
Apache的rewrite规则详细介绍 发布日期:2008-09-02 16:16 来源: 作者: 点击:7044 rewrite标志 R[=code](force redirect) 强制外部重定 ...
- js 获取时间 new Date()详细介绍
javaScript系列:js中获取时间new Date()详细介绍 (2012-03-31 09:54:25) 转载▼ 标签: js时间 new date() 字符类型 转换 分类: study-j ...
- 抓包工具-Wireshark(详细介绍与TCP三次握手数据分析)
功能使用的详细介绍 wireshark(官方下载网站: http://www.wireshark.org/),是用来获取网络数据封包,可以截取各种网络封包,显示网络封包的详细信息,包括http,TCP ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)(转)
本文转自:http://www.cnblogs.com/skywang12345/p/3344137.html 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annota ...
- linux awk 内置函数详细介绍(实例)
这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y ...
随机推荐
- 爬虫逆向基础,理解 JavaScript 模块化编程 webpack
关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 简介 在分析一些站点的 JavaScript 代码时,比较简单的代码,函数通常都是一个一个的,例 ...
- 【死磕 NIO】— Reactor 模式就一定意味着高性能吗?
大家好,我是大明哥,我又来了. 为什么是 Reactor 一般所有的网络服务,一般分为如下几个步骤: 读请求(read request) 读解析(read decode) 处理程序(process s ...
- vue.$set实现原理
上源码: export function set (target: Array<any> | Object, key: any, val: any): any { if (process. ...
- Linux argc,argv详解
来源:微信公众号「编程学习基地」 @ 目录 argc,argv是什么 如何解析程序参数 "选项"是什么? "选项字符串"是什么 解析参数 argc,argv是什 ...
- 2021.8.9考试总结[NOIP模拟34]
T1 Merchant 如果$t=0$时不能达到$s$,那么所拿物品的价值一定关于时间单调递增,答案单调.因此可以特判$0$后二分. 用$sort$复杂度被卡,要用$\textit{nth_eleme ...
- STM32核心板焊接
焊接工具和材料 电烙铁及烙铁头介绍 电烙铁有很多种,常用的有内热式.外热式.恒温式和吸锡式,为了方便携带,建议使内热式电烙铁,且要带烙铁架和海绵,烙铁架用于放置电烙铁,海绵用于擦拭烙铁锡渣,因此海绵不 ...
- 设计AOV网拓扑排序的算法
拓扑排序 对一个有向图构造拓扑序列的过程称为拓扑排序(不唯一) 思想 从AOV网选择一个没有前驱的顶点并输出 从AOV网中删去该顶点,并且删去所有以该顶点为尾的弧 重复上述两步,直到全部顶点都被输出, ...
- uni-app 安卓离线打包详细教程
借鉴 uni-app官方给出的文章http://ask.dcloud.net.cn/article/508(虽说是04年的) 预备环境 AndroidStudio开发环境,要求安装Android4.0 ...
- Envoy实现.NET架构的网关(二)基于控制平面的动态配置
什么是控制平面 上一篇我们讲了文件系统的动态配置,这次我们来看看通过Control Panel来配置Envoy.控制平面就是一个提供Envoy配置信息的单独服务,我们可以通过这个服务来修改Envoy的 ...
- 深入理解 Linux的进程,线程,PID,LWP,TID,TGID
转载:https://www.linuxidc.com/Linux/2019-03/157819.htm 在Linux的top和ps命令中,默认看到最多的是pid (process ID),也许你也能 ...