(基礎篇)PHP擷取時間、時間戳記的各種格式寫法匯總

來源:互聯網
上載者:User

標籤:數字   小數   英文   bsp   簡單   日期轉換   解決方案   asi   年月日   

1、擷取目前時間方法date()

很簡單,這就是擷取時間的方法,格式為:date($format, $timestamp),format為格式、timestamp為時間戳記–可填參數。

 

2、擷取時間戳記方法time()、strtotime()

這兩個方法,都可以擷取php中unix時間戳記,time()為直接擷取得到,strtotime($time, $now)為將時間格式轉為時間戳記,$time為必填。清楚了這個,想瞭解更多,請繼續往下看。

 

3、 date($format)用法

比如:

echo date(‘Y-m-d’) ,輸出結果:2016-05-22

echo  date(‘Y-m-d H:i:s’),輸出結果:2016-05-22 23:00:00

echo  date(‘Y-m-d’, time()),輸出結果:2016-05-22 23:00:00(結果同上,只是多了一個時間戳記參數)(時間戳記轉換為日期格式的方法)

echo  date(‘Y’).’年’.date(‘m’).’月’.date(‘d’).’日’,輸出結果:2016年5月22日

 

舉例就這幾個,只是格式的變通而已,下面是格式中各個字母的含義:

/**************格式中可使用字母的含義**************/

a – "am" 或是 "pm" 

A – "AM" 或是 "PM" 

d – 幾日,二位元字,若不足二位則前面補零; 如: "01" 至 "31" 

D – 星期幾,三個英文字母; 如: "Fri" 

F – 月份,英文全名; 如: "January" 

h – 12 小時制的小時; 如: "01" 至 "12" 

H – 24 小時制的小時; 如: "00" 至 "23" 

g – 12 小時制的小時,不足二位不補零; 如: "1" 至 12" 

G – 24 小時制的小時,不足二位不補零; 如: "0" 至 "23" 

i – 分鐘; 如: "00" 至 "59" 

j – 幾日,二位元字,若不足二位不補零; 如: "1" 至 "31" 

l – 星期幾,英文全名; 如: "Friday" 

m – 月份,二位元字,若不足二位則在前面補零; 如: "01" 至 "12" 

n – 月份,二位元字,若不足二位則不補零; 如: "1" 至 "12" 

M – 月份,三個英文字母; 如: "Jan" 

s – 秒; 如: "00" 至 "59" 

S – 字尾加英文序數,二個英文字母; 如: "th","nd" 

t – 指定月份的天數; 如: "28" 至 "31" 

U – 總秒數 

w – 數字型的星期幾,如: "0" (星期日) 至 "6" (星期六) 

Y – 年,四位元字; 如: "1999" 

y – 年,二位元字; 如: "99" 

z – 一年中的第幾天; 如: "0" 至 "365" 

 

4、strtotime($time)用法

比如:

echo strtotime(’2016-05-22′),輸出結果:1332427715(此處結果為隨便寫的,僅作說明使用)

echo strtotime(date(‘Y-d-m’)),輸出結果:(結合date(),結果同上)(時間日期轉換為時間戳記)

strtotime()還有個很強大的用法,參數可加入對於數位操作、年月日周英文字元,樣本如下:

echo date(‘Y-m-d H:i:s’,strtotime(‘+1 day’)),輸出結果:2016-05-23 23:30:33(會發現輸出明天此時的時間)

echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day’)),輸出結果:2016-05-21 23:30:33(昨天此時的時間)

echo date(‘Y-m-d H:i:s’,strtotime(‘+1 week’)),輸出結果:2016-05-29 23:30:33(下個星期此時的時間)

echo date(‘Y-m-d H:i:s’,strtotime(‘next Thursday’)),輸出結果:2016-05-29 00:00:00(下個星期四此時的時間)

echo date(‘Y-m-d H:i:s’,strtotime(‘last Thursday’)),輸出結果:2016-05-15 00:00:00(上個星期四此時的時間)

等等,自己去變通研究吧,strtotime()方法可以通過英文文本的控制Unix時間戳記的顯示,而得到需要的時間日期格式。

 

5、php擷取目前時間的毫秒數

php本身沒有提供返回毫秒數的函數,但提供了microtime()方法,它會返回一個Array,包含兩個元素:一個是秒數、一個是小數表示的毫秒數,我們可以通過此方法擷取返回毫秒數,方法如下:

function getMillisecond() {

list($s1, $s2) = explode(‘ ‘, microtime());

return (float)sprintf(‘%.0f‘, (floatval($s1) + floatval($s2)) * 1000);

}

 

6、擷取目前時間相差6小時解決方案

有些朋友,擷取的時間與當前系統時間相差6個小時,這是因為時區設定問題,只要將之設為上海時間即可。方法如下:

1.在php.ini中找到date.timezone,將它的值改成 Asia/Shanghai,即 date.timezone = Asia/Shanghai

2.在程式開始時添加 date_default_timezone_set(‘Asia/Shanghai’)即可。

(基礎篇)PHP擷取時間、時間戳記的各種格式寫法匯總

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.