PHP時間戳函數總結

PHP語言中的函數有許多種,各類應用方式不一樣,實現的功能也不盡相同。咱們在本文種爲你們總結了PHP時間戳函數,但願能做爲參考學習對象。 php

一,PHP時間戳函數獲取指定日期的unix時間戳 strtotime(」2009-1-22″) 示例以下: html

echo strtotime(」2009-1-22″) 結果:1232553600 vim

說明:返回2009年1月22日0點0分0秒時間戳 函數

二,PHP時間戳函數獲取英文文本日期時間 示例以下: 學習

便於比較,使用date將當時間戳與指定時間戳轉換成系統時間 spa

(1)打印明天此時的時間戳strtotime(」+1 day」) unix

當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25 code

指定時間:echo date(」Y-m-d H:i:s」,strtotime(」+1 day」)) 結果:2009-01-23 09:40:25 htm

(2)打印昨天此時的時間戳strtotime(」-1 day」) 對象

當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(」Y-m-d H:i:s」,strtotime(」-1 day」)) 結果:2009-01-21 09:40:25

(3)打印下個星期此時的時間戳strtotime(」+1 week」)

當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(」Y-m-d H:i:s」,strtotime(」+1 week」)) 結果:2009-01-29 09:40:25

(4)打印上個星期此時的時間戳strtotime(」-1 week」)

當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(」Y-m-d H:i:s」,strtotime(」-1 week」)) 結果:2009-01-15 09:40:25

(5)打印指定下星期幾的時間戳strtotime(」next Thursday」)

當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(」Y-m-d H:i:s」,strtotime(」next Thursday」)) 結果:2009-01-29 00:00:00

(6)打印指定上星期幾的時間戳strtotime(」last Thursday」)

當前時間:echo date(」Y-m-d H:i:s」,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(」Y-m-d H:i:s」,strtotime(」last Thursday」)) 結果:2009-01-15 00:00:00

以上PHP時間戳函數示例可知,strtotime能將任何英文文本的日期時間描述解析爲Unix時間戳,咱們結合mktime()或date()格式化日期時間獲取指定的時間戳,實現所須要的日期時間。

示例:

?
<?php
 
/***************************************************************************
 *
 * Copyright (c) 2011 Baidu.com, Inc. All Rights Reserved
 * $Id$
 *
 **************************************************************************/
 
 
 
//時間戳轉日期
$date_time_array=getdate(1297845628);//1311177600  1316865566
$hours=$date_time_array["hours"];
$minutes=$date_time_array["minutes"];
$seconds=$date_time_array["seconds"];
$month=$date_time_array["mon"];
$day=$date_time_array["mday"];
$year=$date_time_array["year"];
 
echo"year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 
//正常日期轉時間戳
echomktime(0, 0, 0, 9, 18, 2011) ."\n";
echomktime(0, 0, 0, 9, 25, 2011) ."\n";
 
/*
time();
是得到當前時間,但得到的是一整型
*/
//能夠對此進行格式化
echo"time()顯示年月日時分秒:".date("Y-m-d H:i:s", time()) ."\n";
//這樣連時,分秒一塊兒顯示
echo"time()只顯示年月日:".date("Y-m-d ", time()) ."\n";//只年示年月日
 
echo"時間戳格式化:".date("Y-m-d H:i:s", 1297845628) ."\n";//直接使用時間戳
 
/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */

?>


定義和用法

mktime() 函數返回一個日期的 Unix 時間戳。

參數老是表示 GMT 日期,所以 is_dst 對結果沒有影響。

參數能夠從右到左依次空着,空着的參數會被設爲相應的當前 GMT 值。

語法

mktime(hour,minute,second,month,day,year,is_dst)
參數 描述
hour 可選。規定小時。
minute 可選。規定分鐘。
second 可選。規定秒。
month 可選。規定用數字表示的月。
day 可選。規定天。
year 可選。規定年。在某些系統上,合法值介於 1901 - 2038 之間。不過在 PHP 5 中已經不存在這個限制了。
is_dst

可選。若是時間在日光節約時間(DST)期間,則設置爲1,不然設置爲0,若未知,則設置爲-1。

自 5.1.0 起,is_dst 參數被廢棄。所以應該使用新的時區處理特性。

提示和註釋

註釋:在 PHP 5.1 以前,若是該函數的參數非法,則會返回 false。

例子

mktime() 函數對於日期運算和驗證很是有用。它能夠自動校訂越界的輸入:

<?php
echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));
echo(date("M-d-Y",mktime(0,0,0,14,1,2001)));
echo(date("M-d-Y",mktime(0,0,0,1,1,2001)));
echo(date("M-d-Y",mktime(0,0,0,1,1,99)));
?>

輸出:

Jan-05-2002
Feb-01-2002
Jan-01-2001
Jan-01-1999
相關文章
相關標籤/搜索