Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP प्रोग्राम: डेट फॉर्मेट बदलना (strtotime और date)


PHP में डेट फॉर्मेट बदलना

उदाहरण

<?php
function string_convert($my_date) {
    $sec = strtotime($my_date);
    $my_date = date("Y-m-d H:i", $sec);
    $my_date = $my_date . ":00";
    echo $my_date;
}

$my_date = "23/11/2020 11:59 PM";
string_convert($my_date);
?>

आउटपुट

1970-01-01 00:00:00

समस्या विश्लेषण

आउटपुट 1970-01-01 00:00:00 (Unix epoch) आ रहा है क्योंकि strtotime() दिए गए फॉर्मेट "23/11/2020 11:59 PM" को सही से पार्स नहीं कर पा रहा।

सुधारा गया संस्करण

<?php
function convertDateFormat($dateString, $inputFormat = 'd/m/Y h:i A', $outputFormat = 'Y-m-d H:i:s') {
    // DateTime::createFromFormat का उपयोग करें अधिक विश्वसनीय पार्सिंग के लिए
    $date = DateTime::createFromFormat($inputFormat, $dateString);
    
    if ($date === false) {
        throw new Exception("Invalid date format: $dateString");
    }
    
    return $date->format($outputFormat);
}

// उपयोग
$my_date = "23/11/2020 11:59 PM";
try {
    $converted = convertDateFormat($my_date);
    echo "Converted: $converted";
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}
?>

आउटपुट

Converted: 2020-11-23 23:59:00

मुख्य फंक्शन्स

फंक्शनउपयोग
strtotime()इंग्लिश टेक्स्टुअल डेटटाइम को Unix टाइमस्टैम्प में पार्स करता है
date()टाइमस्टैम्प को फॉर्मेटेड स्ट्रिंग में बदलता है
DateTime::createFromFormat()निर्दिष्ट फॉर्मेट के अनुसार डेट पार्स करता है (अधिक विश्वसनीय)
DateTime::format()DateTime ऑब्जेक्ट को फॉर्मेट करता है

सामान्य डेट फॉर्मेट कैरेक्टर्स

  • Y - 4 अंकों का वर्ष (2024)
  • m - 2 अंकों का महीना (01-12)
  • d - 2 अंकों का दिन (01-31)
  • H - 24 घंटे फॉर्मेट में घंटे (00-23)
  • i - मिनट्स (00-59)
  • s - सेकंड्स (00-59)
  • A - AM/PM अपरकेस

बेस्ट प्रैक्टिस

  • नए कोड के लिए DateTime क्लास का उपयोग करें (अधिक शक्तिशाली, टाइमज़ोन सपोर्ट)।
  • strtotime() अस्पष्ट फॉर्मेट्स के साथ अविश्वसनीय हो सकता है।
  • हमेशा इनपुट फॉर्मेट स्पष्ट रूप से निर्दिष्ट करें।
  1. विंडोज 10 में टाइम फॉर्मेट कैसे बदलें विंडोज 10 में टाइम फॉर्मेट कैसे बदलें

    क्या आप AM/PM व्यक्ति हैं, या आप 24-घंटे टाइप के हैं? जब आप समय 1800 सुनते हैं, तो क्या आपका दिमाग ऑटोमैटिकली 8 बजे या 6 बजे पर चला जाता है? आप समय को जिस भी तरह से देखते हैं, आप यह सुनिश्चित करना चाहते हैं कि जब आप अपने विंडोज डेस्कटॉप के निचले-दाएं कोने पर नज़र डालें, तो आप तुरंत जान लें कि क्या ह

  1. - MongoDB में डेट फॉर्मेट कैसे बदलें?

    हमारे पास निम्न तारीख है: 01-10-2019 डेट फॉर्मेट बदलने के लिए, कस्टम वेरिएबल का उपयोग करें और डेट को स्ट्रिंग में कनवर्ट करके उसका फॉर्मेट बदलें: डेट को स्ट्रिंग में कनवर्ट करके फॉर्मेट बदलने की क्वेरी var outputString= formatDate[2]+-+formatDate[0]+-+formatDate[1]; वेरिएबल वैल्यू प्रदर्शित करना

  1. PHP MySQL में डेट फॉर्मेट को dd/mm/yyyy में कैसे बदलें? PHP MySQL में डेट फॉर्मेट को dd/mm/yyyy में कैसे बदलें?

    PHP में डेट फॉर्मेट बदलने के लिए date() फ़ंक्शन का उपयोग करें। PHP सिंटैक्स date(d/m/Y, yourDateTimeVariable); PHP कोड उदाहरण $LoginDate = strtotime(2019-01-12); echo date(d/m/Y, $LoginDate); आउटपुट 12/01/2019 strtotime() स्ट्रिंग को Unix Timestamp में बदलता है, फिर date() उसे मनचाहे फॉर्मेट म