欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP時(shí)間函數(shù)使用詳解

 更新時(shí)間:2019年03月21日 15:32:37   作者:CODETC  
今天小編就為大家分享一篇關(guān)于PHP時(shí)間函數(shù)使用詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

PHP開(kāi)發(fā)中,關(guān)于時(shí)間函數(shù)的使用基本上可以說(shuō)是無(wú)處不在,而PHP中操作時(shí)間的方法也很多,比如PHP時(shí)間戳、日期與時(shí)間戳之間的轉(zhuǎn)換、獲取當(dāng)前日期、當(dāng)前時(shí)間之前或之后的時(shí)間等等,下面我們?cè)敿?xì)講述一下PHP中各種時(shí)間函數(shù)的使用。

首先需要知道的是在php中獲取時(shí)間方法是date(),在php中獲取時(shí)間戳方法有time()、strtotime()。下面分別說(shuō)明。

date() 格式為:date($format, $timestamp),format為格式、timestamp為時(shí)間戳(可選)。

time() 返回當(dāng)前時(shí)間的 Unix 時(shí)間戳,沒(méi)有參數(shù)。

strtotime($time, $now) 將格式化的日期時(shí)間或任何英文文本的日期時(shí)間描述解析為 Unix 時(shí)間戳。$time 為必填,規(guī)定要解析的時(shí)間字符串;$now 用來(lái)計(jì)算返回值的時(shí)間戳,如果省略該參數(shù),則使用當(dāng)前時(shí)間。

date($format)用法舉例:

  • echo date('Y-m-d');輸出結(jié)果:2014-12-16
  • echo date('Y-m-d H:i:s');輸出結(jié)果:2014-12-16 23:00:00
  • echo date('Y年m月d日');輸出結(jié)果:2014年12月16日

要實(shí)現(xiàn)輸出怎樣的日期格式其實(shí)只需要按規(guī)則修改一下即可,下面是字符串格式中各個(gè)字母的含義:

a - "am" 或是 "pm"

A - "AM" 或是 "PM"

d - 幾日,二位數(shù)字,若不足二位則前面補(bǔ)零; 如: "01" 至 "31"

D - 星期幾,三個(gè)英文字母; 如: "Fri"

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

h - 12 小時(shí)制的小時(shí); 如: "01" 至 "12"

H - 24 小時(shí)制的小時(shí); 如: "00" 至 "23"

g - 12 小時(shí)制的小時(shí),不足二位不補(bǔ)零; 如: "1" 至 12"

G - 24 小時(shí)制的小時(shí),不足二位不補(bǔ)零; 如: "0" 至 "23"

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

j - 幾日,二位數(shù)字,若不足二位不補(bǔ)零; 如: "1" 至 "31"

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

m - 月份,二位數(shù)字,若不足二位則在前面補(bǔ)零; 如: "01" 至 "12"

n - 月份,二位數(shù)字,若不足二位則不補(bǔ)零; 如: "1" 至 "12"

M - 月份,三個(gè)英文字母; 如: "Jan"

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

S - 字尾加英文序數(shù),二個(gè)英文字母; 如: "th","nd"

t - 指定月份的天數(shù); 如: "28" 至 "31"

U - 總秒數(shù)

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

Y - 年,四位數(shù)字; 如: "1999"

y - 年,二位數(shù)字; 如: "99"

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

time()用法舉例:

time();輸出結(jié)果:1418664250(返回的結(jié)果即當(dāng)前的時(shí)間戳)

strtotime($time)用法舉例:

echo strtotime('2014-12-16'); 輸出結(jié)果:1418688000,作用其實(shí)是把2014-12-16 00:00:00轉(zhuǎn)化為 UNIX 時(shí)間戳

strtotime()還有個(gè)很強(qiáng)大的用法,參數(shù)可加入對(duì)于數(shù)字的操作、年月日周英文字符,示例如下:

  • echo date('Y-m-d H:i:s',strtotime('+1 day'));輸出結(jié)果:2014-12-17 23:30:33(輸出明天此時(shí)的時(shí)間)
  • echo date('Y-m-d H:i:s',strtotime('-1 day'));輸出結(jié)果:2014-12-15 23:30:33(昨天此時(shí)的時(shí)間)
  • echo date('Y-m-d H:i:s',strtotime('+1 week'));輸出結(jié)果:2014-12-22 23:30:33(獲取下個(gè)星期此時(shí)的時(shí)間)
  • echo date('Y-m-d H:i:s',strtotime('next Thursday'));輸出結(jié)果:2014-12-18 00:00:00(獲取下個(gè)星期四凌晨的時(shí)間)
  • echo date('Y-m-d H:i:s',strtotime('last Thursday'));輸出結(jié)果:2014-12-11 00:00:00(獲取上個(gè)星期四凌晨的時(shí)間)

以上舉例就這么多了,更多的自己去變通研究吧,strtotime()方法可以通過(guò)英文文本的控制Unix時(shí)間戳的顯示,而得到需要的時(shí)間日期格式。

php獲取當(dāng)前時(shí)間的毫秒數(shù)

php本身沒(méi)有提供返回毫秒數(shù)的函數(shù),但提供了microtime()方法,它會(huì)返回一個(gè)數(shù)組,包含兩個(gè)元素:一個(gè)是秒數(shù)、一個(gè)是小數(shù)表示的毫秒數(shù),我們可以通過(guò)此方法獲取返回的毫秒數(shù),方法如下:

function getMillisecond(){
 list($s1,$s2)=explode(' ',microtime());
 return (float)sprintf('%.0f',(floatval($s1)+floatval($s2))*1000);
}

在PHP里面,通常獲取到的時(shí)間會(huì)與當(dāng)前時(shí)間相差8小時(shí),這是由于在PHP的配置里默認(rèn)是以0時(shí)區(qū)的時(shí)間為基準(zhǔn),而我們位于東8區(qū),與0時(shí)區(qū)相差八小時(shí),所以在實(shí)際開(kāi)發(fā)中使用到時(shí)間的時(shí)間,要特別注意設(shè)置好時(shí)區(qū),設(shè)置的方法主要有下面的幾種:

1.在php.ini中找到date.timezone,將它的值改成 Asia/Shanghai,即 date.timezone = Asia/Shanghai(將當(dāng)前時(shí)區(qū)設(shè)置為亞洲上海時(shí)區(qū))

2.在程序開(kāi)始的地方添加 date_default_timezone_set('Asia/Shanghai');即可,當(dāng)然對(duì)于中國(guó)的時(shí)區(qū),我們也可以使用date_default_timezone_set('PRC');來(lái)設(shè)置

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論