SQLSERVER の 2 つの関数: dateadd()、datediff() をシミュレートします。

WBOY
リリース: 2016-06-13 12:39:26
オリジナル
1164 人が閲覧しました

//ファイル名: date.inc.php3
//これら 2 つの関数を使用する前に、まず日付または日付時刻をタイムスタンプ型に変換する必要があります。
//例:
//$today=mktime(0,0,0,date("m"),date("d"),date("Y"));

/****sqlserver で dateadd 関数をシミュレートします************
$part 型: string
値の範囲: 年、月、日、時、分、秒
の意味:追加する日付
$n のどの部分 型: 数値
の意味: どれだけ増やすか、どの部分を増やすかは $part に応じて決定
は負の数も可能
$datetime型: timestamp
意味: 増加のベース
戻り値の型: timestamp
**************End************ *******/
function dateadd($part,$n,$datetime){
$year=date("Y",$datetime);
$month=date( " m",$datetime);
$day=date("d",$datetime);
$hour=date("H",$datetime);
$min=date("i " ,$datetime);
$sec=date("s",$datetime);
$part=strto lower($part);
$ret=0;
switch ($part) {
case "年":
$year =$n;
break;
case "月":
$month =$n;
break;
case "日 ":
$day =$n;
休憩;
ケース "時間":
$時間 =$n;
休憩;
ケース "分":
$ min =$n;
break;
case "sec":
$sec =$n;
break;
default:
return $ret;
break;
}
$ret=mktime($hour,$min,$sec,$month,$day,$year);
return $ret;
}

/* * **sqlserver で datediff 関数をシミュレートします************
$part 型: 文字列
値の範囲: 年、月、日、時、分、秒
の意味:追加する日付
$date1,$date2 のどの部分 型: タイムスタンプ
表す: 比較する 2 つの日付
戻り値の型: 数値
********** ****終わり *(*************/
function datediff($part,$date1,$date2){
//$diff=$date2-$date1;
$year1=date("Y",$date1 ) ;
$year2=date("Y",$date2);
$month2=date("m",$date2);
$month1=date("m",$date1);
$day2=date("d",$date2);
$day1=date("d",$date1);
$hour2=date("d",$date2);
$hour1=date("d",$date1);
$min2=date("i",$date2);
$min1=date("i",$date1);
$ sec2 =date("s",$date2);
$sec1=date("s",$date1);

$part=strto lower($part);
$ret=0 ;
switch ($part) {
case "年":
$ret=$year2-$year1;
break;
case "月":
$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 "hour":
$ret=(mktime($ hour2 ,0,0,$month2,$day2,$year2)-mktime($hour1,0,0,$month1,$day1,$year1))/3600;
break;
case "min" :
$ret=(mktime($hour2,$min2,0,$month2,$day2,$year2)-mktime($hour1,$min1,0,$month1,$day1,$year1))/60 ;
break;
case "sec":
$ret=$date2-$date1;
break;
デフォルト:
return $ret;
break;
}
return $ret;
}
?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!