php工器之日期總結

2021-08-16 02:10:45 字數 2771 閱讀 8081

一、php內建的日期物件和函式

php提供了兩種方式處理日期,一種是物件導向的方式,一種是面向過程的方式(函式)。

方式一:原始碼路徑:php runtime/date/date_c.php

dateperiod類的構造方法接受三個引數而且都必須提供

datetime例項,表示迭代開始的日期和時間 ;dateinterval例項,表示下乙個日期和時間的間隔 ;整數,表示迭代的總次數 ;第四個引數是可選的,用於顯式指定週期的結束日期和時間,如果迭代時想要排除開始日期和時間,可以把構造方法的最後乙個引數設為dateperiod::exclude_start_date常量:

$datetime = new \datetime();

$interval = \dateinterval::createfromdatestring('-1 day');

$period = new \dateperiod($datetime, $interval, 3);

foreach ($period

as$date)

方式二:原始碼路徑:php runtime/date/date.php

另外,php也提供了一些預定義常量,原始碼路徑:php runtime/date/date_d.php

二、php日期的常用處理

清楚了php提供的處理日期的方式和原始碼位置那麼可以很方便的自學,下面就總結一些常用的使用技巧。

日期的格式化

<?php 

//物件導向的方式

//建立datetime物件

$datetime

=\datetime::createfromformat('ymd', '20160618');//靜態方法建立

//或$datetime = new datetime("20160618");//例項化物件

//面向過程的方式

$datetime

= date_create("20160618");

$datetime

->setdate(2015, 2, 28);//修改日期

$datetime

->settime(20, 20, 24);//修改時間

$datetime

->settimezone($timezone);//修改時區

echo $datetime

->format('y-m-d');//格式化

日期的加減乘除
<?php 

$datetime

= date_create("20160618");

$datetime

->modify( '-1 month' );

//另外,也可以結合dateinterval物件使用

$datetime

=new datetime();

$interval

=new dateinterval('p2dt5h');//p2dt5h2m表示間隔兩天五小時兩分鐘,要搞懂dateinterval引數格式規則!

$datetime

->sub($interval);//減去間隔

echo $datetime

->format('y-m-d h:i:s');

兩個日期間的間隔計算
<?php 

//方式一,date_diff函式,用右邊的數減左邊的數

//方式二,datetime->diff

$datetime1 = new \datetime('2016-01-01 10:11:18');

$datetime2 = new \datetime('2017-05-11 22:21:21');

$interval = $datetime1->diff($datetime2);

echo($interval->format('%r%y'));//%表示使用格式化,r表示是大於這個日期(+),還是小於這個日期(-),a表示大於或小於多少天,時分秒正常使用y,m,d,h,i,s

日期字串陣列的排序

使用陣列的排序函式即可

判斷時間在某一時間段內

function

get_curr_time_section

()

return -1;

}echo(strtotime("now") . "

");//當前時間戳

echo(strtotime("15 october 1980") . "

");echo(strtotime("+5 hours") . "

");echo(strtotime("+1 week") . "

");echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "

");echo(strtotime("next monday") . "

");echo(strtotime("last sunday"));

PHP之日期函式

介紹 php是一門非常令人驚奇的語言。它足夠強大 最大的部落格 wordpress 的核心語言 它足夠廣泛 執行在最大社交 facebook上 它足夠簡單 作為初學者首選入門語言 在低成本的機器上執行良好。而且php語言有很多非常不錯的伺服器套件 如wamp和mamp 很方便的安裝在你的機器上。ph...

php程式設計之日期和時間

1 日期和時間 1.unix時間戳 以32位整數表示格林威治標準時間 11230499325 這個uinix時間戳整數是從1970年1月1日0時0分0秒 計算機元年 到現在的秒數 作用 方便我們計算使用 參於運算 php所能表示的時間範圍 1970 2038 2.在php中獲取日期和時間 time ...

php基礎之日期時間函式(4)

時間戳是指1970年01月01日 00 00 00到這一瞬間經過的秒數 php日期時間函式 time 返回當前時間的 unix 時間戳 microtime 函式返回當前 unix 時間戳的微秒數 microtime true microtime 如果呼叫時不帶可選引數,本函式以 msec sec 的...