ในตัวอย่างนี้จะเป็น Function คำนวณระยะห่างระหว่างวันที่กำหนด เช่น
วันที่เริ่ม คือ 2014-05-07 08:50:00
วันที่สิ้นสุด คือ 2019-05-07 22:54:00
ผลการทำงาน ช่วงเวลาห่างระหว่างวันเริ่ม และวันสิ้นสุด คือ
5 Year 26 days 14 hours 4 minutes
function date_getFullTimeDifference( $start = null, $end = null ){
$str = '';
$uts['start'] = strtotime($start);
$uts['end'] = strtotime($end);
if( $uts['start']!==-1 && $uts['end']!==-1 )
{
if( $uts['end'] >= $uts['start'] )
{
$diff = $uts['end'] - $uts['start'];
if( $years=intval((floor($diff/31104000))) )
$diff = $diff % 31104000;
$str .= $years > 0 ? $years.' Year ' : '';
if( $months=intval((floor($diff/2592000))) )
$diff = $diff % 2592000;
$str .= $months > 0 ? $months.' months ' : '';
if( $days=intval((floor($diff/86400))) )
$diff = $diff % 86400;
$str .= $days > 0 ? $days.' days ' : '';
if( $hours=intval((floor($diff/3600))) )
$diff = $diff % 3600;
$str .= $hours > 0 ? $hours.' hours ' : '';
if( $minutes=intval((floor($diff/60))) )
$diff = $diff % 60;
$str .= $minutes > 0 ? $minutes.' minutes ' : '';
return $str;
}
else
{
echo "Ending date/time is earlier than the start date/time";
}
}
else
{
echo "Invalid date/time data detected";
}
}
//การเรียกใช้งาน
echo date_getFullTimeDifference('2014-05-07 08:50:00','2019-05-07 22:54:00');
ขอขอบคุณข้อมูลจาก https://stackoverflow.com