本文目錄一覽:
php如何比較時間大小
2015-04-22 這樣的時間格式在php中是屬於字元串的,字元串是不能比較大小的。
你用strtotime(時間) 這個函數將你的時間轉化為時間戳,也就是一串數字這樣就可以比較了
請問PHP中當前日期與欄位日期比較
一般是用時間戳比較日期大小,當然你要是有框架的內置函數另說,不過原理一般都是時間戳
時間戳就是吧data格式的日期轉成秒
strtotime(‘2011-6-8
22:22:22′);
date(“Y-m-d
H:i:s”,1263804691);這樣又回到日期
取大於24小時和400分鐘
(strtotime(time())
–
strtotime(k_time1))/60
這樣就是相差的分鐘
PHP 里如何進行時間比較?
相關代碼如下:
下面是比較兩個絕對時間的大小:
1.?php
2. $zero1=date(「y-m-d h:i:s」);
3. $zero2=」2010-11-29 21:07:00′;
4. echo 「zero1的時間為:」.$zero1.」br」;
5. echo 「zero2的時間為:」.$zero2.」br」;
6. if(strtotime($zero1)strtotime($zero2)){
7. echo 「zero1早於zero2′;
8. }else{
9. echo 「zero2早於zero1′;
10. }
11. ?
下面是倒計時小程序 實例代碼:
?php
$zero1=strtotime (date(“y-m-d h:i:s”)); //當前時間 ,注意H 是24小時 h是12小時
$zero2=strtotime (“2014-1-21 00:00:00”); //過年時間,不能寫2014-1-21 24:00:00 這樣不對
$guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
echo “離過年還有strong$guonian/strong天!”;
?
?php
//PHP計算兩個時間差的方法
$startdate=”2010-12-11 11:40:00″;
$enddate=”2012-12-12 11:45:09″;
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo $date.”天br”;
echo $hour.”小時br”;
echo $minute.”分鐘br”;
echo $second.”秒br”;
?
?php
/**
* 時間差計算
*
* @param Timestamp $time
* @return String Time Elapsed
* @author Shelley Shyan
* @copyright (Professional PHP Architecture)
*/
function time2Units ($time)
{
$year = floor($time / 60 / 60 / 24 / 365);
$time -= $year * 60 * 60 * 24 * 365;
$month = floor($time / 60 / 60 / 24 / 30);
$time -= $month * 60 * 60 * 24 * 30;
$week = floor($time / 60 / 60 / 24 / 7);
$time -= $week * 60 * 60 * 24 * 7;
$day = floor($time / 60 / 60 / 24);
$time -= $day * 60 * 60 * 24;
$hour = floor($time / 60 / 60);
$time -= $hour * 60 * 60;
$minute = floor($time / 60);
$time -= $minute * 60;
$second = $time;
$elapse = ”;
$unitArr = array(‘年’ =’year’, ‘個月’=’month’, ‘周’=’week’, ‘天’=’day’,
‘小時’=’hour’, ‘分鐘’=’minute’, ‘秒’=’second’
);
foreach ( $unitArr as $cn = $u )
{
if ( $$u 0 )
{
$elapse = $$u . $cn;
break;
}
}
return $elapse;
}
$past = 2052345678; // Some timestamp in the past
$now = time(); // Current timestamp
$diff = $now – $past;
echo ‘發表於’ . time2Units($diff)
補充說明:
1、PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用。
2、PHP 獨特的語法混合了C、Java、Perl 以及 PHP 自創新的語法。它可以比 CGI 或者 Perl 更快速的執行動態網頁。
3、PHP最初是由勒多夫在1995年開始開發的;現在PHP的標準由the PHP Group維護。PHP以PHP License作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放源代碼許可協議GPL不兼容。
mysql php 日期比較
MYSQL有日期函數now(),這個值返回的不是時間戳,而是類似2010-10-1 12:12:12類似的,
PHP有日期函數date(),date(“Y-m-d”,time())返回當前的時間,如果單純用time(),則返回的是當前時間,比方說17等數字
MYSQL日期比較
TO_DAYS(NOW()) – TO_DAYS(date_col) = 30;
我們的date_col必須是日期時間格式,而不能是時間戳,
mysql SELECT
FROM_UNIXTIME(875996580);
– ‘1997-10-04 22:23:00’
day(FROM_UNIXTIME(1277709862))這個返回的是某個時間戳到現在經過的天數
獲取
日:day(FROM_UNIXTIME(add_time))
獲取 月:month(FROM_UNIXTIME(add_time))
獲取
年:year(FROM_UNIXTIME(add_time))
sql文裡面獲得時間戳後格式化為日,月,年:day(now()),month(now()),year(now())
其中add_time是欄位名,存放格式為linux時間戳.
mysql set @a = unix_timestamp();
Query OK, 0 rows affected (0.00 sec)
mysql select @a;
+————+
| @a |
+————+
| 1154942084 |
+————+
1 row in set (0.00 sec)
mysql select
from_unixtime(@a);
+———————+
| from_unixtime(@a) |
+———————+
| 2006-08-07 17:14:44 |
+———————+
1 row in set (0.00 sec)
php實現比較兩個字元串日期大小的方法
本文實例講述了php實現比較兩個字元串日期大小的方法。分享給大家供大家參考。具體如下:
?php
function
dateBDate($date1,
$date2)
{
//
日期1是否大於日期2
$month1
=
date(“m”,
strtotime($date1));
$month2
=
date(“m”,
strtotime($date2));
$day1
=
date(“d”,
strtotime($date1));
$day2
=
date(“d”,
strtotime($date2));
$year1
=
date(“Y”,
strtotime($date1));
$year2
=
date(“Y”,
strtotime($date2));
$from
=
mktime(0,
0,
0,
$month1,
$day1,
$year1);
$to
=
mktime(0,
0,
0,
$month2,
$day2,
$year2);
if
($from
$to)
{
return
true;
}
else
{
return
false;
}
}
?
$date1
=
“2009-10-13”;
$date=
mktime(0,
0,
0,
date(“m”,
strtotime($date1)),
date(“d”,
strtotime($date1)),
date(“Y”,
strtotime($date1)));
最終取得一個日期的
Unix
時間戳$date=1255392000。
很多時候做搜索的時候,搜索的時間不能大於當前日期,比較函數的寫法大致和上面一個函數相同,具體如下:
function
dateBCurrent($date){
//日期是否大於當前日期
$currentDate=date(“Y-m-d”);
//獲取當前日期
$cYear=date(“Y”,strtotime($currentDate));
$cMonth=date(“m”,strtotime($currentDate));
$cDay=date(“d”,strtotime($currentDate));
$year=date(“Y”,strtotime($date));
$month=date(“m”,strtotime($date));
$day=date(“d”,strtotime($date));
$currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
//當前日期的
Unix
時間戳
$dateUnix=mktime(0,0,0,$month,$day,$year);
//待比較日期的
Unix
時間戳
if($dateUnix=$currentUnix){
return
true;
}else{
return
false;
}
}
希望本文所述對大家的php程序設計有所幫助。
原創文章,作者:UAOF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146974.html