# date函数
>[success] date — 格式化一个本地时间/日期
>
## 函数原型
~~~
string date ( string $format [, int $timestamp ] )
~~~
>[danger]返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。
>[warning]有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此范围符合 32 位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。
>[info]要将字符串表达的时间转换成时间戳,应该使用 strtotime()。此外一些数据库有一些函数将其时间格式转换成时间戳(例如 MySQL 的 » UNIX_TIMESTAMP 函数)
>[success]格式字串可以识别以下 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* |
| *星期* | --- | --- |
| *W* | ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) | 例如:*42*(当年的第 42 周) |
| *月* | --- | --- |
| *F* | 月份,完整的文本格式,例如 January 或者 March | *January* 到 *December* |
| *m* | 数字表示的月份,有前导零 | *01* 到 *12* |
| *M* | 三个字母缩写表示的月份 | *Jan* 到 *Dec* |
| *n* | 数字表示的月份,没有前导零 | *1* 到 *12* |
| *t* | 指定的月份有几天 | *28* 到 *31* |
| *年* | --- | --- |
| *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* |
| *时间* | --- | --- |
| *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](http://php.net/manual/zh/language.types.integer.php) 参数, 而 [DateTime::format()](http://php.net/manual/zh/datetime.format.php) 才支持毫秒。 | 示例: *654321* |
| *时区* | --- | --- |
| *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* |
| *完整的日期/时间* | --- | --- |
| *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()](http://php.net/manual/zh/function.time.php) |
- 前言
- PHP获取服务器信息
- PHP中的常用函数-新手必备知识
- 日期时间相关的函数
- 时区设置
- time函数
- strtotime 时间戳
- date函数
- mktime函数
- 联合使用 date() 和 mktime()
- PHP数据类型相关的函数
- PHP数组相关的函数
- array函数
- 数组的排序
- sort()和rsort()函数
- asort()和arsort()函数
- ksort()和krsort()函数
- array_multisort()函数
- array_reverse函数
- 数组的遍历
- 数组中新增和删除元素
- 数组头部插入和删除元素
- 数组尾部插入和删除元素
- 删除数组中重复的元素
- 删除数组中指定的元素
- 数组的合并
- 随机/打乱已知数组
- range函数
- 数组去除重复
- PHP常用功能函数
- URL地址处理函数
- post/get请求
- PHP字符串相关的函数
- PHP文件系统
- PHP正则表达式
- 正则表达式语法规则
- POSIX扩展的正则表达式函数
- 查找字串函数
- 替换字符串函数
- Perl兼容的正则表达式函数
- PHP中类的应用
- 中文编码
- 关于stdClass
- 变量相关函数
- unset
- PHP数值相关的函数
- 数值取整
- 开发工具与开发环境使用技巧
- sublime
- 常用插件
- Atom
- 常用插件
- 常见问题
- Visual Studio Code
- vscode常用插件
- 编程推荐字体
- MAC下开发常识
- MAC下的常用设置
- MAC下的常用开发工具
- MAC下XAMMP的常见问题
- Apache配置基础
- PhpStrom
- php中的常见问题
- 文件上传相关问题
- API接口中常见问题
- 关于缓冲区问题
- PHP中注意事项
- 条件判断
- PHP文件管理模块
- 文件管理源码
- 文件管理的常用函数
- 文件管理中文乱码处理
- 自定义功能函数
- 文件下载
- PHP常用头信息定义汇总
- 常见PHP网页木马
- 加密算法
- 1. Base58可逆加密
- 2. AES加密/解密
- mysql数据库操作
- 命令行操作Mysql常用令行-查询
- 命令行操作Mysql常用令行-操作
- Mysql使用中的技巧
- 在线数据库管理中常用命令
- sql show命令
- mysql数据库的备份与恢复
- 二进制日志介绍
- 二进制日志常用命令
- ThinkPHP
- 数据迁移
- 常见问题
- 验证码问题
- API接口中的异常处理
- API接口安全
- 解决跨域问题
- 自定义实用功能函数