php時間操作

來源:互聯網
上載者:User
echo date("Y-m-d H:i:s")."\n";echo date('Y-m-d G:i:s');--->2011-05-28 15:34:37
echo date("Y-m-d H:i:s",strtotime("-10 day"));//目前時間減10天2:函數: strtotime()
功能:將任何英文文本的時間轉換為UNIX時間戳記(從1970年1月1日(GMT)起經過的秒數),進行一些代數運算

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"));

3:

函數: date()

顯示的格式: 年-月-日 小時:分鐘:秒

相關時間參數:

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″

可以自由設定顯示的內容,串連符號或是顯示位置,例如 date(”m-d H”) 或者date(”dmY”);?>等php中的日

3:

1。 計算目前時間和昨日同時間段的資料問題此問題需要知道目前的時間,以及目前時間減去24後的時間

方法一: 使用time()和date()比如:$time=time();$tomorrow=time()+24*3600; //明日的同時間echo ‘ 4: ‘.date(‘Y:m:d H:i:s’,$tomorrow); 

$yestoday=time()+24*3600; //昨日的同時間

echo ‘ 5: ‘.date(‘Y:m:d H:i:s’,$yestoday);

方法二:自己寫類其他語言的函數DateDiff()或者DateSubstact()

如:

function DateDiff ($interval, $date1,$date2)

{ // 得到兩日期之間間隔的秒數

$timedifference = strtotime($date2) – strtotime($date1);

switch ($interval) {

case “w”: $retval = bcdiv($timedifference ,604800); break;

case “d”: $retval = bcdiv( $timedifference,86400); break;

case “h”: $retval = bcdiv ($timedifference,3600); break;

case “n”: $retval = bcdiv( $timedifference,60); break;

case “s”: $retval = $timedifference; break;

}

return $retval;

}

function DateAdd ($interval, $number, $date)

{

$date_time_array = getdate($date);

$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"];

switch ($interval) {

case “yyyy”: $year +=$number; break;

case “q”: $month +=($number*3); break;

case “m”: $month +=$number; break;

case “y”:

case “d”:

case “w”: $day+=$number; break;

case “ww”: $day+=($number*7); break;

case “h”: $hours+=$number; break;

case “n”: $minutes+=$number; break;

case “s”: $seconds+=$number; break;

}

$timestamp = mktime($hours ,$minutes, $seconds,$month ,$day, $year);

return $timestamp;}

使用方法:

Inetrval為表示要添加的時間間隔字串運算式,例如分或天;number為表示要添加的時間間隔的個數的數值運算式;Date表示日期。
Interval(時間間隔字串運算式)可以是以下任意值:
yyyy year年
q Quarter季度
m Month月
y Day of year一年的數
d Day天
w Weekday一周的天數
ww Week of year周
h Hour小時
n Minute分
s Second秒
w、y和d的作用是完全一樣的,即在目前的日期上加一天,q加3個月,ww加7天

我們可以將上面的代碼儲存為dateadd.inc檔案,然後運行以下代碼:

include('dateadd.inc');

$temptime = time();

echo ' 1: '.strftime( "%Y-%m-%d %H:%M:%S",$temptime);

$temptime = DateAdd("h" ,24,$temptime);

echo ' 2: '.strftime( "%Y-%m-%d %H:%M:%S",$temptime);

echo ' 3: '.date('Y:m:d H:i:s');

$time=time();

$tomorrow=time()+24*3600;

echo ' 4: '.date('Y:m:d H:i:s',$tomorrow);

$yestoday=time()+24*3600;

echo ' 5: '.date('Y:m:d H:i:s',$yestoday);

?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.