# 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接口安全
- 解決跨域問題
- 自定義實用功能函數