PHP Academy · पाठ

DateTime क्लास

ऑब्जेक्ट-ओरिएंटेड DateTime API से तिथियाँ बनाएँ और उनमें बदलाव करें

पाठ 2, कुल 4 में से13 चरण

DateTime क्लास, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

DateTime बनाम प्रक्रियात्मक तारीख फ़ंक्शन

PHP में प्रक्रियात्मक फ़ंक्शन (date(), strtotime()) और OO DateTime API, दोनों उपलब्ध हैं। जटिल कार्यों के लिए OO तरीका पसंद किया जाता है:

  • DateTime — परिवर्तनीय तारीख/समय ऑब्जेक्ट
  • DateTimeImmutable — अपरिवर्तनीय (आधुनिक कोड में अधिक सुरक्षित)

DateTime ऑब्जेक्ट बनाना

विभिन्न इनपुट से DateTime ऑब्जेक्ट बनाएँ:

<?php
$now     = new DateTime();                     // current time
$specific = new DateTime('2024-12-25 14:30:00');  // from string
$fromTs  = new DateTime('@' . time());            // from Unix timestamp

echo $now->format('Y-m-d H:i:s');
echo $specific->format('D, d M Y');

// DateTimeImmutable is safer:
$dt = new DateTimeImmutable('2024-01-01');

format() से प्रारूप निर्धारित करना

date() के समान प्रारूप वर्णों का उपयोग करके DateTime का प्रारूप निर्धारित करें:

<?php
$dt = new DateTime('2024-05-27 14:30:00');

echo $dt->format('Y-m-d');           // 2024-05-27
echo $dt->format('H:i:s');           // 14:30:00
echo $dt->format('D d M Y, H:i');    // Mon 27 May 2024, 14:30
echo $dt->format('U');               // Unix timestamp
echo $dt->format(DateTime::ATOM);    // ISO 8601

modify()

सापेक्ष अभिव्यक्ति से DateTime में बदलाव करें:

<?php
$dt = new DateTime('2024-01-15');

$dt->modify('+1 month');
echo $dt->format('Y-m-d');  // 2024-02-15

$dt->modify('next Friday');
echo $dt->format('Y-m-d');

// DateTimeImmutable creates new object:
$dt2 = new DateTimeImmutable('2024-01-15');
$dt3 = $dt2->modify('+1 year'); // $dt2 unchanged

createFromFormat()

विशिष्ट प्रारूप के साथ तारीख स्ट्रिंग को पार्स करें:

<?php
// Parse European date format
$dt = DateTime::createFromFormat('d/m/Y', '25/12/2024');
echo $dt->format('Y-m-d');  // 2024-12-25

// Parse with time
$dt2 = DateTime::createFromFormat('d.m.Y H:i', '27.05.2024 14:30');
echo $dt2->format('c');  // ISO 8601

// Returns false on failure:
$bad = DateTime::createFromFormat('Y-m-d', 'not-a-date');
var_dump($bad);  // bool(false)

DateTime ऑब्जेक्ट की तुलना करना

तुलना ऑपरेटरों से DateTime ऑब्जेक्ट की तुलना करें:

<?php
$a = new DateTime('2024-01-01');
$b = new DateTime('2024-12-31');

var_dump($a < $b);   // true
var_dump($a == $b);  // false
var_dump($a > $b);   // false

// Sort an array of DateTime:
$dates = [new DateTime('2024-06-01'), new DateTime('2024-01-01')];
usort($dates, fn($a, $b) => $a <=> $b);
echo $dates[0]->format('Y-m-d');  // 2024-01-01

getTimestamp()

DateTime को यूनिक्स टाइमस्टैम्प में बदलें:

<?php
$dt = new DateTime('2024-12-25');

$ts = $dt->getTimestamp();
echo $ts;  // Unix timestamp for Dec 25 2024

// setTimestamp()
$dt2 = new DateTime();
$dt2->setTimestamp($ts);
echo $dt2->format('Y-m-d');  // 2024-12-25

तारीख और समय के भाग निर्धारित करना

DateTime के अलग-अलग घटकों में बदलाव करें:

<?php
$dt = new DateTime();

$dt->setDate(2024, 12, 25);
$dt->setTime(23, 59, 59);

echo $dt->format('Y-m-d H:i:s');
// 2024-12-25 23:59:59

// Or chain with DateTimeImmutable:
$dt = (new DateTimeImmutable())
    ->setDate(2024, 12, 25)
    ->setTime(0, 0, 0);

व्यवहार में DateTime: सदस्यता जाँच

वास्तविक जीवन का उपयोग: जाँचें कि सदस्यता अभी भी सक्रिय है या नहीं:

<?php
function isSubscriptionActive(string $expiresAt): bool {
    $expiry = new DateTimeImmutable($expiresAt);
    $now    = new DateTimeImmutable();
    return $expiry > $now;
}

var_dump(isSubscriptionActive('2025-12-31'));  // true
var_dump(isSubscriptionActive('2020-01-01'));  // false

Carbon लाइब्रेरी

Carbon एक लोकप्रिय PHP लाइब्रेरी है जो DateTime का विस्तार करके सहज API उपलब्ध कराती है:

<?php
// After: composer require nesbot/carbon
use Carbon\Carbon;

$now  = Carbon::now();
$then = Carbon::parse('2024-01-01');

echo $now->diffForHumans($then);  // '5 months after'
echo $now->addWeek()->format('Y-m-d');
echo Carbon::tomorrow()->isWeekday() ? 'weekday' : 'weekend';

// Locale-aware:
Carbon::setLocale('tr');
echo $now->diffForHumans($then); // Turkish

ISO 8601 और DateTime::ATOM

API और डेटाबेस के लिए ISO 8601 प्रारूप का उपयोग करें:

<?php
$dt = new DateTime();

// ISO 8601
echo $dt->format('c');              // 2024-05-27T14:30:00+03:00
echo $dt->format(DateTime::ATOM);   // same
echo $dt->format(DateTime::RFC3339); // same family

// For JSON APIs:
$json = json_encode([
    'created_at' => $dt->format(DateTime::ATOM)
]);
echo $json;

त्वरित जाँच

DateTime और DateTimeImmutable के बीच मुख्य अंतर क्या है?

पुनरावलोकन: DateTime वर्ग

DateTime OO की आवश्यक बातें:

  • बनाने के लिए new DateTime('date string')
  • आउटपुट के लिए format()
  • सापेक्ष बदलावों के लिए modify()
  • कस्टम प्रारूपों को पार्स करने के लिए createFromFormat()
  • म्यूटेशन से जुड़ी त्रुटियों से बचने के लिए DateTimeImmutable को प्राथमिकता दें
  • API के लिए ISO 8601 (DateTime::ATOM) का उपयोग करें
शुरुआत निःशुल्क

एआई शिक्षक के साथ PHP सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
49
पाठ
195

अक्सर पूछे जाने वाले प्रश्न

क्या “DateTime क्लास” पाठ निःशुल्क है?

हाँ—“DateTime क्लास” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“DateTime क्लास” में मैं क्या सीखूँगा?

ऑब्जेक्ट-ओरिएंटेड DateTime API से तिथियाँ बनाएँ और उनमें बदलाव करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“DateTime क्लास” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Unix टाइमस्टैम्प और date()
  2. DateTime क्लास
  3. DateInterval से तारीखों की गणना
  4. PHP में समय क्षेत्र
← PHP Academy पर वापस जाएँ