php UNIX時(shí)間戳用法詳解
本文實(shí)例講述了php UNIX時(shí)間戳用法。分享給大家供大家參考,具體如下:
時(shí)間戳是文件屬性中的創(chuàng)建、修改、和訪問時(shí)間。數(shù)字時(shí)間戳服務(wù)是Web網(wǎng)站安全服務(wù)項(xiàng)目之一,能提供電子文件的日期和時(shí)間信息的安全保護(hù)。
時(shí)間戳的優(yōu)點(diǎn)是:
可用變化的加密數(shù)值,防止數(shù)值被竊取后非法重復(fù)利用,起到加密的作用。時(shí)間戳主要依賴于時(shí)間,在約定的一段時(shí)間內(nèi)產(chǎn)生唯一的一個(gè)數(shù)值。
UNIX時(shí)間戳
在UNIX系統(tǒng)中,日期與時(shí)間表示為自1970年1月1日零點(diǎn)起到當(dāng)前時(shí)刻的秒數(shù),這種時(shí)間被稱為UNIX時(shí)間戳,以32位二進(jìn)制數(shù)表示。在不同的操作系統(tǒng)中均支持這種時(shí)間表示方式,同一時(shí)間在UNIX和Windows中均以相同的UNIX時(shí)間戳表示,所以不需要在不同的系統(tǒng)中進(jìn)行轉(zhuǎn)換。
目前UNIX時(shí)間戳是以32位二進(jìn)制數(shù)表示,32位二進(jìn)制數(shù)值范圍為(-2147483648~+2147483647),由于系統(tǒng)不支持負(fù)的時(shí)間戳,因此,目前UNIX時(shí)間戳能表示的最大時(shí)間為2038年1月19日3點(diǎn)14分7秒,該時(shí)刻的時(shí)間戳為2147483647。于該時(shí)間后,需要擴(kuò)展UNIX時(shí)間戳的二進(jìn)制位數(shù)。
PHP獲取指定日期的時(shí)間戳
PHP中應(yīng)用mktime()函數(shù)將一個(gè)時(shí)間轉(zhuǎn)換成為UNIX時(shí)間戳值。
語法如下
mktime(hour,minute,second,month,day,year,is_dst)
參數(shù) | 描述 |
---|---|
hour | 可選。規(guī)定小時(shí)。 |
minute | 可選。規(guī)定分鐘。 |
second | 可選。規(guī)定秒。 |
month | 可選。規(guī)定用數(shù)字表示的月。 |
day | 可選。規(guī)定天。 |
year | 可選。規(guī)定年。在某些系統(tǒng)上,合法值介于 1901 - 2038 之間。不過在 PHP 5 中已經(jīng)不存在這個(gè)限制了。 |
is_dst |
可選。如果時(shí)間在日光節(jié)約時(shí)間(DST)期間,則設(shè)置為1,否則設(shè)置為0,若未知,則設(shè)置為-1。 自 5.1.0 起,is_dst 參數(shù)被廢棄。因此應(yīng)該使用新的時(shí)區(qū)處理特性。 |
例如:
echo "時(shí)間戳:".mktime().'<br>';//返回當(dāng)前時(shí)間戳 echo "任意日期:".date("Y-m-d",mktime(0,0,0,2,21,1996)).'<br>'; echo "當(dāng)前日期: ".date("Y-m-d",mktime()).'<br>';
運(yùn)行結(jié)果為:
時(shí)間戳:1458979695 任意日期:1996-02-21 當(dāng)前日期: 2016-03-26
獲取當(dāng)前時(shí)間戳
PHP通過time()函數(shù)獲取當(dāng)前的UNIX時(shí)間戳。
語法如下:
int time(void);
該函數(shù)沒有參數(shù),返回值為UNIX時(shí)間戳的整數(shù)值。
例如:
echo time()."<br>";//輸出當(dāng)前時(shí)間戳 $nextWeek = time()+(7*24*60*60);//一個(gè)星期七天,一天24小時(shí),一個(gè)小時(shí)60分,一分60秒 echo "Now: ".date("Y-m-d")."<br>"; echo "Next Week: ".date("Y-m-d",$nextWeek);
運(yùn)行結(jié)果為
1458980073 Now: 2016-03-26 Next Week: 2016-04-02
將英文文本的日期時(shí)間描述解析為UNIX時(shí)間戳
strtotime() 函數(shù)將任何英文文本的日期時(shí)間描述解析為 Unix 時(shí)間戳。
語法
strtotime(time,now)
參數(shù) | 描述 |
---|---|
time | 規(guī)定要解析的時(shí)間字符串。 |
now | 用來計(jì)算返回值的時(shí)間戳。如果省略該參數(shù),則使用當(dāng)前時(shí)間。 |
例如:
echo(strtotime("now")).'<br>'; echo(strtotime("3 October 2005")).'<br>'; echo(strtotime("+5 hours")).'<br>'; echo(strtotime("+1 week")).'<br>'; echo(strtotime("+1 week 3 days 7 hours 5 seconds")).'<br>'; echo(strtotime("next Monday")).'<br>'; echo(strtotime("last Sunday")).'<br>';
運(yùn)行結(jié)果為:
1458980310 1128268800 1458998310 1459585110 1459869515 1459094400 1458403200
如果想要查看這個(gè)時(shí)間戳對(duì)應(yīng)的時(shí)間,例如:
echo date("Y-m-d H:i:s",strtotime("now")).'<br>'; echo date("Y-m-d H:i:s",strtotime("next Thursday")).'<br>';
運(yùn)行結(jié)果為:
2016-03-26 16:21:32 2016-03-31 00:00:00
PS:本站還提供了一個(gè)Unix時(shí)間戳轉(zhuǎn)換工具,包含了各種常見語言針對(duì)時(shí)間戳的操作方法,提供給大家參考:
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php日期與時(shí)間用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php自定義時(shí)間轉(zhuǎn)換函數(shù)示例
- php獲取當(dāng)前月與上個(gè)月月初及月末時(shí)間戳的方法
- php 計(jì)算兩個(gè)時(shí)間相差的天數(shù)、小時(shí)數(shù)、分鐘數(shù)、秒數(shù)詳解及實(shí)例代碼
- php 時(shí)間time與日期date之間的使用詳解及區(qū)別
- PHP 常用時(shí)間函數(shù)資料整理
- PHP獲取當(dāng)前日期和時(shí)間及格式化方法參數(shù)
- PHP使用GETDATE獲取當(dāng)前日期時(shí)間作為一個(gè)關(guān)聯(lián)數(shù)組的方法
- php使用gettimeofday函數(shù)返回當(dāng)前時(shí)間并存放在關(guān)聯(lián)數(shù)組里
- php獲取當(dāng)前時(shí)間的毫秒數(shù)的方法
- PHP setTime 設(shè)置當(dāng)前時(shí)間的代碼
- AJAX 動(dòng)態(tài)獲取當(dāng)前時(shí)間(php)
- php5中date()得出的時(shí)間為什么不是當(dāng)前時(shí)間的解決方法
- PHP獲取中國時(shí)間(上海時(shí)區(qū)時(shí)間)及美國時(shí)間的方法
相關(guān)文章
php實(shí)現(xiàn)的mysqldb讀寫分離操作類示例
這篇文章主要介紹了php實(shí)現(xiàn)的mysqldb讀寫分離操作類,結(jié)合實(shí)例形式分析了php針對(duì)數(shù)據(jù)庫的讀寫分離操作實(shí)現(xiàn)技巧,并給出了該封裝類的具體使用方法,需要的朋友可以參考下2017-02-02PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程示例
這篇文章主要介紹了PHP實(shí)現(xiàn)PDO操作mysql存儲(chǔ)過程,結(jié)合具體實(shí)例形式分析了php使用pdo操作mysql存儲(chǔ)過程實(shí)現(xiàn)用戶注冊(cè)功能相關(guān)技巧,需要的朋友可以參考下2019-02-02使用ThinkPHP自帶的Http類下載遠(yuǎn)程圖片到本地的實(shí)現(xiàn)代碼
Thinkphp是國人開發(fā)一個(gè)PHP框架,該框架相比國外的一些框架也毫不遜色。強(qiáng)大的ORM,插件,分組等功能讓人愛不釋手。2011-08-08PHP 與 UTF-8 的最佳實(shí)踐詳細(xì)介紹
這篇文章主要介紹了PHP 與 UTF-8 的最佳實(shí)踐詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-01-01