ホームページ >php教程 >php手册 >PHP は SQL Server の 2 つの日付処理関数をシミュレートします

PHP は SQL Server の 2 つの日付処理関数をシミュレートします

WBOY
WBOYオリジナル
2016-06-13 12:43:13985ブラウズ

//PHP で日付を処理するのは非常に不便です。たとえば、2 つの日付の月の差を求める場合。何をするか?
//ファイル名:date.inc.php3
//これら 2 つの関数を使用する前に、まず日付または日付時刻をタイムスタンプ型に変換する必要があります。
//例:
//$today=mktime(0,0,0,date("m"),date("d"),date("Y")); * ***sqlserver で dateadd 関数をシミュレートします************
$part 型: 文字列
値の範囲: 年、月、日、時、分、秒
次を表します。追加する日付
$n のどの部分 型: 数値
表す: どれだけ増やすか、どの部分を増やすかは $part に従って決まります
負の数も可能
$datetime型: タイムスタンプ
表す: 増加のベース
戻り値の型: タイムスタンプ

******************End***** **************/


function dateadd($part,$n,$datetime){
$year=date("Y",$datetime); = 日付("m",$datetime);
$day=date("d",$datetime);
$min=date ( "i",$datetime);
$sec=date ("s",$datetime);
$ret=0; $ 部分) {
ケース "年":
ブレイク;
ケース "月":
$月 =$n; > ケース "日":
$日 =$n;
ケース "時間":
ケース "分":
$min =$n;
ケース "秒":
デフォルト:
$ret; > ブレーク;
}
$ret=mktime($hour,$min,$sec,$month,$day,$year);
return $ret
}

/****sqlserver で datediff 関数をシミュレートします**********

$part 型: 文字列
値の範囲: 年、月、日、時、分、秒
表現: 日付のどの部分を追加する
$date1, $date2 型: タイムスタンプ
表す: 比較する 2 つの日付
戻り値の型: 数値

****** *** *****仕上げる*(*************/


function datediff($part,$date1,$date2){
//$diff=$date2-$date1; = 日付("Y",$date1);
$year2=date("Y",$date2);
$month2=date("m",$month1=date); ( "m",$date1);
$day2=date ("d",$date2);
$hour2=date (" d ",$date2);
$hour1=date ("d",$date1);
$min2=date ("i",$date2);
$min1=date ("i" , $date1);
$sec2=date("s",$date2);

$part=strto lower($part) ) ;
$ret=0;
switch ($part) {
ケース "年":
$ret=$year2-$year1;
ケース "月" :
$ret=($year2-$year1)*12 $month2-$month1;
break;
case "day":
$ret=(mktime(0,0,0) , $month2,$day2,$year2)-mktime(0,0,0,$month1,$day1,$year1))/(3600*24);
break
case "時間":
$ret=(mktime($hour2,0,0,$month2,$day2,$year2)-mktime($hour1,0,0,$month1,$day1,$year1))/3600;ブレーク ;
ケース "分":
$ret=(mktime($hour2,$min2,0,$month2,$day2,$year2)-mktime($hour1,$min1,0,$month1, $ day1,$year1))/60;
break;
case "sec":
default:
return $ ret ;
ブレーク
}
return $ret
}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。