के लिए अलग-अलग परिणाम देता है मुझे PHP डेटडिफ़ के साथ समस्या है, मुझे नहीं पता कि प्रत्येक टाइमज़ोन अलग-अलग परिणाम क्यों देता है, उदाहरण के लिए प्राग रिटर्न 0 महीने, और यूएस 1 महीने लौटाता है।डेटडिफ प्रत्येक टाइमज़ोन
यह अंतर क्या है और मैं 1 महीने (बजाय 30 दिन, जब मैं 1 महीने जोड़ता हूं) वापस लौटाता हूं?
कोड यूरोप/प्राग:
date_default_timezone_set("Europe/Prague");
$from = new \DateTimeImmutable('2016-09-01');
$to = $from->add(new \DateInterval('P1M'));
var_dump($from);
var_dump($to);
var_dump($from->diff($to)->m);
var_dump($from->diff($to)->d);
परिणाम यूरोप/प्राग:
object(DateTimeImmutable)#1 (3) {
["date"]=>
string(26) "2016-09-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Prague"
}
object(DateTimeImmutable)#3 (3) {
["date"]=>
string(26) "2016-10-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(13) "Europe/Prague"
}
int(0)
int(30)
-
कोड यूएस/प्रशांत:
date_default_timezone_set("US/Pacific");
$from = new \DateTimeImmutable('2016-09-01');
$to = $from->add(new \DateInterval('P1M'));
var_dump($from);
var_dump($to);
var_dump($from->diff($to)->m);
var_dump($from->diff($to)->d);
अमेरिका परिणाम/प्रशांत :
object(DateTimeImmutable)#2 (3) {
["date"]=>
string(26) "2016-09-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(10) "US/Pacific"
}
object(DateTimeImmutable)#4 (3) {
["date"]=>
string(26) "2016-10-01 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(10) "US/Pacific"
}
int(1)
int(0)
आप आपत्ति तो नहीं है 'var_dump'ing घंटे, मिनट, सेकंड और मिलीसेकेंड के साथ-साथ? – Mchl
क्या यह PHP में ही एक बग हो सकता है? –
@ माइकल हिर्शलर शायद, मुझे यकीन नहीं है, यही कारण है कि मैंने अपना प्रश्न SO पर पोस्ट किया – patie