PHP में तिथियों के साथ कार्य: समय प्रसंस्करण के लिए पुस्तकालयों का अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में तिथियों के साथ कार्य: पुस्तकालयों और उपकरणों का अवलोकन

तिथियों और समय के साथ कार्य वेब-डेवलपमेंट में प्रमुख कार्यों में से एक है। PHP में एक अंतर्निहित क्लास DateTime है, लेकिन जटिल संचालन (समय क्षेत्र, अंतराल, स्वरूपण, स्थानीयकरण) के लिए अक्सर विशेष पुस्तकालयों का उपयोग किया जाता है। इस लेख में हम तीन लोकप्रिय उपकरणों पर विचार करेंगे: Carbon, Chronos और उन्नत DateTime, कोड उदाहरणों और सिफारिशों के साथ।



1. अंतर्निहित क्लास DateTime

PHP क्लासेस DateTime, DateTimeImmutable, DateInterval और DatePeriod के माध्यम से बुनियादी कार्यक्षमता प्रदान करता है। यह सरल कार्यों के लिए पर्याप्त है।



<?php// तिथि ऑब्जेक्ट बनाना$date = new DateTime('2025-04-15 14:30:00', new DateTimeZone('Europe/Moscow'));echo $date->format('Y-m-d H:i:s'); // 2025-04-15 14:30:00

// तिथि बदलना$date->modify('+1 day');echo $date->format('d.m.Y'); // 16.04.2025

// तिथियों के बीच अंतर$now = new DateTime();$interval = $now->diff($date);echo $interval->days; // दिनों की संख्या?>


लाभ: PHP में निर्मित, स्थापना की आवश्यकता नहीं। नुकसान: भारी सिंटैक्स, कोई मेथड चेनिंग (fluent interface) नहीं, स्थानीयकरण के साथ कार्य करना कठिन।



2. Carbon — सबसे लोकप्रिय DateTime विस्तारक

Carbon एक पुस्तकालय है जो DateTime का विस्तार करता है। यह तिथियों, अंतरालों, समय क्षेत्रों और स्थानीयकरण के साथ कार्य करने के लिए सुविधाजनक विधियाँ जोड़ता है। Composer के माध्यम से स्थापना:



composer require nesbot/carbon


Carbon के उपयोग के उदाहरण:



<?phpuse Carbon\\Carbon;

// वर्तमान तिथि$now = Carbon::now();echo $now->toDateString(); // 2025-04-15

// तिथि बनाना$date = Carbon::create(2025, 12, 25, 10, 30, 0, 'Europe/Moscow');echo $date->format('d.m.Y H:i'); // 25.12.2025 10:30

// मानव-पठनीय प्रारूप में अंतरecho Carbon::now()->subDays(5)->diffForHumans(); // "5 दिन पहले"

// मेथड चेनिंग$future = Carbon::now()->addWeek()->startOfDay();echo $future->toDateTimeString(); // 2025-04-22 00:00:00

// स्थानीयकरणCarbon::setLocale('hi');echo Carbon::now()->translatedFormat('l j F Y'); // "मंगलवार 15 अप्रैल 2025"?>


Carbon लगभग सब कुछ समर्थन करता है: हेरफेर (addDays(), subMonths()), तुलना (isWeekend(), between()), स्थानीयकरण के साथ स्वरूपण, अंतराल और अवधियों के साथ कार्य। यह Laravel और कई परियोजनाओं के लिए डी-फैक्टो मानक है।



3. Chronos — CakePHP से हल्का विकल्प

Chronos CakePHP टीम का पुस्तकालय है, जो DateTime का भी विस्तार करता है। यह Carbon से हल्का है, लेकिन समान कार्यक्षमता प्रदान करता है। स्थापना:



composer require cakephp/chronos


उदाहरण:



<?phpuse Cake\\Chronos\\Chronos;

// निर्माण और हेरफेर$date = Chronos::now();$modified = $date->addDays(3)->subHours(2);echo $modified->toIso8601String(); // 2025-04-18T12:30:00+03:00

// मानव-पठनीय आउटपुट के साथ अंतर$past = Chronos::parse('2025-04-10');echo $past->diffForHumans(); // "5 दिन पहले"?>


Chronos म्यूटेबल और इम्यूटेबल संस्करणों (Chronos और ChronosImmutable) का समर्थन करता है। यह सख्त टाइपिंग और छोटे आकार द्वारा प्रतिष्ठित है। यह उपयुक्त है यदि Carbon के सभी कार्यों की आवश्यकता नहीं है।



4. पुस्तकालयों की तुलना

  • DateTime (अंतर्निहित) — बुनियादी कार्यक्षमता, कोई निर्भरता नहीं, सरल स्क्रिप्ट के लिए उपयुक्त।
  • Carbon — समृद्ध API, स्थानीयकरण, Laravel और जटिल परियोजनाओं के लिए आदर्श।
  • Chronos — हल्का, इम्यूटेबल ऑब्जेक्ट, CakePHP या आकार प्रतिबंधों वाले अनुप्रयोगों के लिए अच्छा।


5. कब कौन सा पुस्तकालय

अनुशंसाएँ