DateTime
कक्षाओं का प्रयास करें
$dt = new DateTime('2099-01-01');
$dt->setTime(23,59);
$dt->add(new DateInterval('P10D'));
echo $dt->format('Y-m-d H:i:s'); // 2099-01-11 23:59:00
यकीन है कि क्या दिनांक समय आंतरिक रूप से उपयोग करता है पूर्णांकों के बजाय टाइमस्टैम्प स्टोर करने के लिए नहीं। लेकिन इंटीग्रर्स PHP_INT_MAX
के लिए आपके प्लेटफ़ॉर्म के मान से सीमित हैं। आप 'U' (टाइमस्टैम्प के लिए) के साथ दिनांक स्वरूपण और date()
करने के लिए इसे पारित करने के साथ इस परीक्षण कर सकते हैं:
echo date('Y-m-d H:i:s', $dt->format('U')); // 1962-12-06 17:30:44
सूचना कैसे DateTime
सही टाइमस्टैम्प रिटर्न लेकिन date
इसके साथ काम नहीं कर सकते हैं:
var_dump(
$dt->format('U'), // 4071855540
date('U', $dt->format('U')), // -223111756
PHP_INT_MAX, // 2147483647
PHP_INT_MAX+1, // -2147483648
date('Y-m-d H:i:s', PHP_INT_MAX), // 2038-01-19 04:14:07
date('Y-m-d H:i:s', PHP_INT_MAX+1) // 1901-12-13 21:45:52
);
जो, अधिक शब्दों का उपयोग करने के लिए, "टाइमस्टैम्प के साथ काम न करें" का अर्थ है। :) –
धन्यवाद गॉर्डन, मैं इस डेटाटाइम कक्षा के आसपास अपना सिर लेने की कोशिश कर रहा हूं। – user187580
@ user187580 यदि आप कक्षाओं के साथ असहज महसूस करते हैं, तो आप प्रक्रियात्मक समकक्षों का भी उपयोग कर सकते हैं। उदाहरण के लिए 'date_create',' date_format', आदि – Gordon