Php基础时间篇
1、時間戳:
time();
2、得到請求開始時的時間戳:
$_SERVER['REQUEST_TIME']
<?phpdate_default_timezone_set('PRC');sleep(5);//php腳本睡5秒echo date('Y-m-d H:i:s',time());//獲取當前系統時間的時間戳echo '<hr />';echo date('Y-m-d H:i:s',$_SERVER['REQUEST_TIME']);//得到請求此php腳本時的時間戳 ?> <strong>結論:</strong>因為sleep(5)睡了5秒,之后用time()獲取系統的時間戳,$_SERVER['REQUEST_TIME']則記錄了發起此請求時刻的時間戳。 所以$_SERVER['REQUEST_TIME']比用time()獲取的時間戳早5秒3、日期轉換為時間戳:
strtotime() 函數用于將英文文本字符串表示的日期轉換為時間戳
mktime() 函數用于從日期取得時間戳
4、格式化時間戳:
date();
| Y | 4位數字年,y為2位數字,如99即1999年 |
| m | 數字月份,前面有前導0,如01。n 為無前導0數字月份 |
| F | 月份,完整的文本格式,例如 January 或者 March |
| M | 三個字母縮寫表示的月份,例如 Jan 或者 Mar |
| d | 月份中的第幾天,前面有前導0,如03。j 為無前導0的天數 |
| w | 星期中的第幾天,以數字表示,0表示星期天 |
| z | 年份中的第幾天,范圍0-366 |
| W | 年份中的第幾周,如第32周 |
| H | 24小時格式,有前導0,h為12小時格式 |
| G | 24小時格式,無前導0,g為對應12小時格式 |
| i | 分鐘格式,有前導0 |
| s | 秒格式,有前導0 |
| A | 大寫上下午,如AM,a為小寫 |
5、時區設置
PHP5系列版本新增了時區設置,默認為格林威治時間,與中國所在的東8區正好相差8個小時的解決辦法:
方法1:
???????找到php.ini中的“;date.timezone?=”這行,將“;”去掉,改成“date.timezone?=?PRC”(PRC:People's?Republic?of?China?中華人民共和國),重啟Apache,問題解決。
方法2:
<?php date_default_timezone_set('<span style="color:#FF0000;">Asia/Shanghai</span>'); echo date('Y-m-d H:i:s'); ?>6、常用日期類自定義函數: /** * 判斷是否是閏年 * @param year */ function isLeapYear($year){ return (($year%4==0 && $year%100 !=0) || ($year%400==0)); } 更多日期類自定義函數,請參考http://www.kuitao8.com/20140609/2645.shtml
總結
- 上一篇: Php基础字符串篇
- 下一篇: Php基础数学运算篇