Kadang-kadang apabila kita sedang membangunkan projek, kita akan menghadapi masalah untuk mendapatkan masa mula dan masa tamat beberapa hari yang lalu, beberapa hari kemudian, hari ini, minggu ini, dan lain-lain, mendapatkan bulan sebelumnya, mendapatkan bilangan hari dalam tahun ini, dsb., berikut adalah apa yang saya Meringkaskan beberapa kaedah berkaitan masa biasa, saya harap ia berguna kepada semua orang:
1 Dapatkan bulan-bulan sebelumnya
fungsi awam keSelfMonth($ m){
$today = input('param.today') ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$m.' month',strtotime($today));
for($i = 0;$i <= $m ; $i){
$t = strtotime( " $i month",$old_time);
$arr[]=date('Y-m',$t);
}
return $arr;
}
2 Dapatkan tarikh beberapa hari sebelumnya
fungsi awam. toSelfDay($m){
$today = input('param .today') ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$m.' day', strtotime($today));
for($i = 0;$i <= $m; $i){
$t = strtotime(" $i day",$old_time);
$arr[]=date('Y-m-d',$t);
}
return $arr;
}
3. Kira bilangan hari dalam bulan sebelumnya
public function getLastMonthDays($month){
$arr = $this->toSelfMonth($month);
$y = tarikh ('Y',time());
$days = date('d',time());
for ( $i=0;$i
}
pulangkan $days;
}
4 Dapatkan bilangan hari dalam bulan tertentu
fungsi awam getSelfMonthDays(){
/*$. hari = cal_days_in_month(CAL_GREGORIAN, 4, 2011);*/
$days = date( 't', strtotime("2011-4-1"));
/*$days = date("t" );
echo "Bilangan hari dalam bulan semasa".$days."
";*/
return $days;
}
5. Dapatkan cap masa mula dan tamat tahun dan bulan yang dinyatakan
fungsi awam getSelfMonthStartEnd($y=0,$m=0){
$y = $y ? $y : tarikh('Y');
$m = $m ? $m : tarikh('m ');
$d = tarikh('t', strtotime($y.'-' .$m));
return array("start"=>strtotime($y.'-'. $m),"end"=>mktime(23,59,59,$m,$d ,$y));
}
6 Dapatkan selang tarikh
Untuk mendapatkan selang masa, anda mesti terlebih dahulu menukar masa kepada cap masa biasanya diukur dalam saat, jadi unit ukuran berikut diperoleh:
(1) 1 jam ialah 3600s
(2) 1 hari ialah 24 *3600s, iaitu 86400 saat
Mengikut dua syarat ini, kaedah berikut diperolehi
fungsi GetDateLong ($time1,$time2){
if($ masa2 >= $masa1){
$lama = $masa2 - $masa1;
}lain{
$lama = - ($masa2 - $masa1);
}
jika( $long > 0){
$year_day = $this->GetYearDay($time1);
$year = floor($ long/($year_day*86400));
$day = floor (($long)%($year_day*86400)/86400);
if($year >= 1){
return $year.'year'.$day.'day';
}lain{
pulangkan $day.'day';
}
}
7 Dapatkan sama ada ia adalah tahun lompat
Ya jika ada 365 hari dalam setahun Dalam tahun biasa, apabila ada 366 hari dalam setahun, ia adalah tahun lompat.
jika ($year% 4==0&&($tahun 0!=0 || $tahun@0==0)){
🎜>Sama seperti pengenalan 7 di atas Tahun kalendar Gregorian ialah gandaan 4, biasanya tahun lompat. Tahun dalam kalendar Gregorian dikira dalam ratusan, dan mestilah gandaan 400 untuk menjadi tahun lompat.
Mengikut syarat ini kita boleh melengkapkan kaedah untuk mendapatkan bilangan hari dalam setahun
fungsi awam GetYearDay($time){
$year = date("Y", $masa);
$a1 = $year/100;
if($a1 == 0){
$b1 = $year/400;
if($b1 > 0){
$ panjang=365;
== 0) {
$panjang = 366; 🎜>
Atas ialah kandungan terperinci Beberapa kaedah pemerolehan maklumat selang masa biasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!