DateTime क्लास

DateTime क्लास OOP स्टाइल में तारीख और समय के साथ काम करने के लिए मुख्य टूल है। यह तारीख/समय ऑब्जेक्ट बनाने, उन्हें मॉडिफाई करने और आउटपुट फॉर्मेट करने की अनुमति देता है।

वर्तमान समय

आइए DateTime ऑब्जेक्ट बनाएं वर्तमान तारीख और समय के साथ:

php<?php
  $date = new DateTime();
?>

विशिष्ट तारीख

आइए DateTime ऑब्जेक्ट बनाएं निर्दिष्ट तारीख के साथ:

php<?php
  $date = new DateTime('2025-12-31');
?>

विशिष्ट तारीख और समय

आइए DateTime ऑब्जेक्ट बनाएं निर्दिष्ट तारीख और समय के साथ:

php<?php
  $date = new DateTime('2025-12-31 12:59:59');
?>

आउटपुट फॉर्मेटिंग

बनाई गई तारीख को निर्दिष्ट फॉर्मेट में दिखाया जा सकता है format मेथड की मदद से। आइए करें यह वर्तमान समय के लिए:

php<?php
  $date = new DateTime();
  echo $date->format('Y-m-d H:i:s');
?>

रिजल्ट (एक्जिक्यूशन के समय के आधार पर बदलेगा):

php'2025-11-15 14:25:00'

निर्दिष्ट तारीख की फॉर्मेटिंग

आइए निर्दिष्ट तारीख को फॉर्मेट करें:

php<?php
  $date = new DateTime('2025-12-31');
  echo $date->format('d.m.Y');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'31.12.2025'

इंटरवल जोड़ना

तारीख में इंटरवल जोड़ना add मेथड के through किया जाता है:

php<?php
  $date = new DateTime('2025-05-15');
  $interval = new DateInterval('P10D'); // 10 दिन
  $date->add($interval);
  echo $date->format('Y-m-d');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'2025-05-25'

इंटरवल घटाना

तारीख से इंटरवल घटाना sub मेथड के through किया जाता है:

php<?php
  $date = new DateTime('2025-05-15');
  $interval = new DateInterval('P1M2D'); // 1 महीना और 2 दिन
  $date->sub($interval);
  echo $date->format('Y-m-d');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'2025-04-13'

नई तारीख सेट करना

DateTime ऑब्जेक्ट के लिए नई तारीख सेट की जा सकती है। यह setDate मेथड के through किया जाता है:

php<?php
  $date = new DateTime();
  $date->setDate(2025, 12, 31);
  echo $date->format('Y-m-d');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'2025-12-31'

समय सेट करना

DateTime ऑब्जेक्ट के लिए नया समय सेट किया जा सकता है। यह setTime मेथड के through किया जाता है:

php<?php
  $date = new DateTime();
  $date->setTime(15, 30, 0);
  echo $date->format('H:i:s');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'15:30:00'

तारीखों की तुलना

तारीख वाले ऑब्जेक्ट्स की तुलना की जा सकती है:

php<?php
  $date1 = new DateTime('2025-01-01');
  $date2 = new DateTime('2025-02-01');
  
  if ($date1 < $date2) {
    echo '+++';
  } else {
    echo '---';
  }
?>

तारीखों के बीच अंतर

diff मेथड की मदद से तारीखों के बीच अंतर कैलकुलेट किया जा सकता है। अंतर DateInterval ऑब्जेक्ट के रूप में return किया जाता है:

php<?php
  $date1 = new DateTime('2023-01-01');
  $date2 = new DateTime('2023-02-15');
  
  $interval = $date1->diff($date2);
  echo $interval->format('%m months %d days');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'1 months 14 days'

टाइमज़ोन

DateTime ऑब्जेक्ट बनाते समय टाइमज़ोन निर्दिष्ट किया जा सकता है:

php<?php
  $timeZone = new DateTimeZone('Europe/Moscow');
  $date = new DateTime('2025-12-31 23:59:59', $timeZone);
  
  echo $date->format('Y-m-d H:i:s e');
?>

कोड एक्जिक्यूशन का रिजल्ट:

php'2025-12-31 23:59:59 Europe/Moscow'

यह भी देखें

  • DateTimeImmutable क्लास,
    जो एक immutable तारीख बनाता है
  • DateInterval क्लास,
    जो एक टाइम इंटरवल सेट करता है
  • DateTimeZone क्लास,
    जो एक टाइमज़ोन सेट करता है