<?php
$DF_MYSQL = 'Y-m-d H:i:s';
$dtB = DateTime::createFromFormat($DF_MYSQL, '2015-04-02 09:44:47');
$dtA = DateTime::createFromFormat($DF_MYSQL, '2014-02-16 02:00:00');
// DateInterval: B-A
$diDiff = $dtA->diff($dtB);
// Unix Timestamp: B-A
$tsDiff = $dtB->getTimestamp() - $dtA->getTimestamp();
// REPORT DIFFERENCES
/*
NOTE: DIFFERENCE B-A IS
$y => 1
$m => 1
$d => 17
$h => 7
$i => 44
$s => 47
*/
print_r($diDiff);
// Unix Timestamp: CALCULATE A FROM (B - DIFFERENCE) AND REPORT
// NOTE: CORRECT RESULT, SAME AS $dtA: 2014-02-16 02:00:00
$tsShift = $dtB->getTimestamp() - $tsDiff;
$dtOut = new DateTime();
$dtOut->setTimestamp($tsShift);
print_r($dtOut);
// DateInterval: CALCULATE A FROM (B - DIFFERENCE) AND REPORT
// NOTE: INCORRECT RESULT, DIFFERENT FROM $dtA: 2014-02-13 02:00:00
$dtB->sub($diDiff);
print_r($dtB);
- Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 17
[h] => 7
[i] => 44
[s] => 47
[f] => 0
[invert] => 0
[days] => 410
[from_string] =>
)
DateTime Object
(
[date] => 2014-02-16 02:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
DateTime Object
(
[date] => 2014-02-13 02:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.33
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 17
[h] => 7
[i] => 44
[s] => 47
[f] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 410
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
DateTime Object
(
[date] => 2014-02-16 02:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
DateTime Object
(
[date] => 2014-02-13 02:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
- Output for 7.3.32 - 7.3.33, 8.0.13
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 17
[h] => 7
[i] => 44
[s] => 47
[f] => 0
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 410
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
DateTime Object
(
[date] => 2014-02-16 02:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
DateTime Object
(
[date] => 2014-02-13 02:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
- Output for 5.4.30 - 5.4.45, 5.5.14 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 17
[h] => 7
[i] => 44
[s] => 47
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 410
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
DateTime Object
(
[date] => 2014-02-16 02:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
DateTime Object
(
[date] => 2014-02-13 02:00:00.000000
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
- Output for 5.3.27 - 5.3.29, 5.4.17 - 5.4.29, 5.5.0 - 5.5.13
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 17
[h] => 7
[i] => 44
[s] => 47
[weekday] => 0
[weekday_behavior] => 0
[first_last_day_of] => 0
[invert] => 0
[days] => 410
[special_type] => 0
[special_amount] => 0
[have_weekday_relative] => 0
[have_special_relative] => 0
)
DateTime Object
(
[date] => 2014-02-16 02:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
DateTime Object
(
[date] => 2014-02-13 02:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
- Output for 5.3.3 - 5.3.26, 5.4.0 - 5.4.16
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 17
[h] => 7
[i] => 44
[s] => 47
[invert] => 0
[days] => 410
)
DateTime Object
(
[date] => 2014-02-16 02:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
DateTime Object
(
[date] => 2014-02-13 02:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
- Output for 5.3.0 - 5.3.2
- DateInterval Object
(
[y] => 1
[m] => 1
[d] => 14
[h] => 7
[i] => 44
[s] => 47
[invert] => 0
[days] => 410
)
DateTime Object
(
[date] => 2014-02-16 02:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
DateTime Object
(
[date] => 2014-02-16 02:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)
- Output for 5.2.10 - 5.2.17
- Fatal error: Call to undefined method DateTime::createFromFormat() in /in/mUeRk on line 5
Process exited with code 255. - Output for 5.2.0 - 5.2.9
- Fatal error: Call to undefined method DateTime::createfromformat() in /in/mUeRk on line 5
Process exited with code 255. - Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
- Fatal error: Class 'DateTime' not found in /in/mUeRk on line 5
Process exited with code 255. - Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
- Fatal error: Undefined class name 'datetime' in /in/mUeRk on line 5
Process exited with code 255. - Output for 4.3.0 - 4.3.1
- Fatal error: Undefined class name 'datetime' in /in/mUeRk on line 5
preferences:
147.99 ms | 422 KiB | 5 Q