国产视频app我們上一篇文章說了一個mktime()函數,可以將以數值形式表現的日期和時間轉換成Unix時間戳,那么這篇文章就說一說,如何把任何一個用字符串表示的日期,轉成Unix時間戳。

PHP中的strtotime()函數

strtotime()函數

定義:

strtotime() 函數將任何字符串的日期時間描述解析為 Unix 時間戳(自 January 1 1970 00:00:00 GMT 起的秒數)。

国产视频app注意:如果年份表示使用兩位數格式,則值 0-69 會映射為 2000-2069,值 70-100 會映射為 1970-2000。

国产视频app注意:請注意 m/d/y 或 d-m-y 格式的日期,如果分隔符是斜線(/),則使用美洲的 m/d/y 格式。如果分隔符是橫杠(-)或者點(.),則使用歐洲的 d-m-y 格式。為了避免潛在的錯誤,您應該盡可能使用 YYYY-MM-DD 格式或者使用 date_create_from_format() 函數。

語法:

int strtotime ( string $time [, int $now = time() ] )

解釋:

time     必需。規定日期/時間字符串。

now     可選。規定用來計算返回值的時間戳。如果省略該參數,則使用當前時間。

舉例說明:

利用strtotime()函數,將帶有英文字母的日期,轉換成數字日期

代碼

<?php
//飛鳥慕魚博客
$d=strtotime("10:38pm May 15 2018");
echo "創建日期是 " . date("Y-m-d H:i:s", $d);
?>

代碼示意圖:

PHP時間戳 strtotime()使用方法和技巧,,php 判斷今天的前一天,或前后多少天的代碼,php strtotime +1day,php日期操作

代碼動行結果:

創建日期是 2018-05-15 22:38:00

代碼說明:

代碼中的,May,表示為“五月”,所以在輸出格式化的日期后,為05;

我們可以利用strtotime()函數做很多有意思的事

比如下例的代碼,獲取明天的日期,下周一的日期,二個月后的日期

代碼

<?php
//飛鳥慕魚博客
echo '當前日期:'.date('Y-m-d').'&nbsp;星期'.date('w').'<br/>';
//明天的日期
$d=strtotime("tomorrow");
echo '明天日期:'.date("Y-m-d", $d) . "<br>";
//下周一的日期
$d=strtotime("next monday");
echo '下周一日期:'.date("Y-m-d", $d) . "<br>";
//二個月后的日期
$d=strtotime("+2 Months");
echo '二個月后的日期:'.date("Y-m-d", $d) . "<br>";
?>

代碼示意圖

PHP時間戳 strtotime()使用方法和技巧,,php 判斷今天的前一天,或前后多少天的代碼,php strtotime +1day,php日期操作

運動結果

當前日期:2018-07-20 
星期5明天日期:2018-07-21
下周一日期:2018-07-23
二個月后的日期:2018-09-20
PS:mktime()與strto在使用方法上并沒有太大的區別,所以上面的實例通過稍微的改動在mktime()函數上也可以實現!

補充,利用strtotime()進行各種時間判斷輸入代碼

代碼

echo "今天:",date("Y-m-d",time()),"<br>";     
echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"<br>";     
echo "昨天:",date("Y-m-d",strtotime("-1 day")), "<br>";     
echo "明天:",date("Y-m-d",strtotime("+1 day")), "<br>";     
echo "一周后:",date("Y-m-d",strtotime("+1 week")), "<br>";     
echo "一周零兩天四小時兩秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "<br>";     
echo "下個星期四:",date("Y-m-d",strtotime("next Thursday")), "<br>";     
echo "上個周一:".date("Y-m-d",strtotime("last Monday"))."<br>";     
echo "一個月前:".date("Y-m-d",strtotime("last month"))."<br>";     
echo "一個月后:".date("Y-m-d",strtotime("+1 month"))."<br>";     
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";