PHP 取年齡或年資 get age of date

取年齡或年資

/*
 取年資
 https://vector.cool 

 date $date          到職日 ex:2006/3/8
 date $date2 = null  離職日 ex:2017/5/14
 return int 年資
*/
function get_age($date,$date2=NULL){
	$time = (empty($date2))?time():strtotime($date2);
	$time = $time - strtotime($date);
	return intval($time / (365*24*60*60));
}

用法:

這邊有個要注意的地方,使用這方法須先設定時區

date_default_timezone_set()

第二個參數不帶則為還在職,也就是取目前時間

date_default_timezone_set("Asia/Taipei");
echo get_age('2007/6/25');
echo get_age('2007/7/28','2017/12/23');

 [……]

閱讀更多

PHP 時間運算 取2日期間共幾年 get years between two dates

php get years between two dates

取2日期間共幾年

/*
 get years between two dates
 https://vector.cool 

 date $date ex:2006/3/8
 date $date2 ex:2017/5/14
 return int
*/
function get_years_between_two_dates($date,$date2=NULL){
	$time = (empty($date2))?time():strtotime($date2);
	$time = $time - strtotime($date);
	return intval($time / (365*24*60*60));
}

用法:

這邊有個要注意的地方,使用這方法須先設定時區

date_default_timezone_set()
date_default_timezone_set("Asia/Taipei");
echo get_years_between_two_dates('2007/7/28','2017/12/23');

 [……]

閱讀更多

PHP 時間運算 日期或時間加減

字串格式的日期時間轉成Time

‘2015-03-04 12:03:25’這就是字串格式的日期時間,都要先轉為time加以運算,運算完成再用date()去格式化日期。
例如資料庫dateTime時間格式或timestamep時間格式,需先轉成time才有辦法做運算
/*
	https://vector.cool
*/
$time = strtotime('2015-03-04 12:03:25');
//output : 1425441805

以下提供三種方法進行日期時間加減運算

一、慢慢算

/*
	https://vector.cool
*/
date_default_timezone_set("Asia/Taipei");
$next_Month = 30*24*60*60;//30天*24小時*60分*60秒
echo date('Y-m-d',strtotime('2015-03-04 12:03:25')+$next_Month);

二、使用 mktime()

/*
	https://vector.cool
*/
date_default_timezone_set("Asia/Taipei");
$date=date("Y-m-d",mktime(hr,min,sec,mon,day,year))

//例如:今天再加5天
date("y-m-d",mktime(0,0,0,date("m"),(date("d")+5),date("y")))

Reference:http://php.net/manual/zh/function.mktime.php

三、使用 strtotime()

strtotime()這東西比我想像聰明多了耶

/*
	https://vector.cool
*/
date_default_timezone_set("Asia/Taipei");
echo strtotime("now")."<br/>";
echo strtotime("10 September 2000")."<br/>";
echo strtotime("2020-09-29 +1 day")."<br/>";
echo strtotime("+1 day")."<br/>";
echo strtotime("+1 week")."<br/>";
echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br/>";;
echo strtotime("next Thursday")."<br/>";
echo strtotime("last Monday")."<br/>";

Reference:http://php.net/manual/zh/function.strtotime.php

[……]

閱讀更多