जैसा कि एक टिप्पणी में कहा गया है, मेरा मानना है कि यह ज्यादातर व्यक्तिगत वरीयता के लिए है। मेरी नजर में, यूनिक्स टाइमस्टैम्प और "विरासत" गैर-ओओपी इंटरफेस का उपयोग आज की दुनिया में आगे बढ़ने का तरीका नहीं है, उदाहरण के लिए, हम <कोड का उपयोग नहीं करते (पढ़ें:नहीं होना चाहिए)>आईएनटी यूनिक्स टाइमस्टैम्प प्रारूप में तिथियों को संग्रहीत करने के लिए हमारे डेटाबेस में डेटाटाइप, हमें इसके बजाय डेटाबेस के मूल प्रकार का उपयोग करना चाहिए जो आमतौर पर एक DATE
होता है या डेटटाइम
टाइप करें जो PHP के DateTime
. के साथ सहयोग करता है जब मानक रूपांतरणों की बात आती है तो ऑब्जेक्ट (और अन्य भाषाएं) लगभग मूल रूप से।
मानक रूपांतरणों से मेरा क्या मतलब है, इस पर थोड़ा विस्तार करने के लिए:जब आप MySQL का उपयोग करते हैं और PHP के लिए एक मान वापस खींचते हैं तो आपको एक आईएसओ-स्वरूपित दिनांक स्ट्रिंग मिलती है, जिसमें से DateTime
इसके कंस्ट्रक्टर में क्लास पार्स आपको तुरंत प्रयोग करने योग्य वस्तु देता है। इसके विपरीत, यूनिक्स टाइमस्टैम्प मार्ग पर जाने के लिए आपको strtotime
. का उपयोग करना होगा , फिर तारीख
इसे मूल रूप से किसी भी प्रारूप में लाने के लिए।
मैंने पहले हमारे PHP सिस्टम और .NET सिस्टम के बीच इंटरऑप के बारे में उल्लेख किया था। जबकि टाइमस्टैम्प का उपयोग करने के कारण कोई विशिष्ट समस्या नहीं है, यह व्यावहारिक समाधान नहीं है, फिर भी, हम एक डेटाबेस का उपयोग करते हैं जो डेटटाइम मान देता है जिसे सीधे पाइप के नीचे भेजा जा सकता है। यदि हम इसे PHP में आंतरिक रूप से उपयोग के लिए एक यूनिक्स टाइमस्टैम्प में परिवर्तित करते हैं, तो हमें इसे वापस परिवर्तित करना होगा यदि हम कोई प्रतिक्रिया भेजें, या .NET एप्लिकेशन को प्रतिक्रिया भेजें (या मुझे केवल एपीआई कहना चाहिए) इस मामले में) जो एक टाइमस्टैम्प है, और इसे अंत में परिवर्तित करें। DateTime
. का उपयोग करके बोर्ड भर में, यह किसी भी रूपांतरण की आवश्यकता को कम करता है और पूरी विकास प्रक्रिया आसान होती है।
अंत में इस सब को जोड़ने के लिए, जैसा कि आपने अपनी पोस्ट में भी उल्लेख किया है, आपको DateInterval
जैसी चमकदार वस्तुओं का उपयोग करने को मिलता है। जब आप DateTime
. का उपयोग करते हैं, तो आसान टाइमज़ोनिंग, आसान हेरफेर और आसान फ़ॉर्मेटिंग आदि और यह अपराध में संबंधित वस्तु-उन्मुख भागीदार है। मेरी नज़र में यह विकास की एक आसान प्रक्रिया है।
मुझे विश्वास नहीं है क्योंकि मैंने शुरू में कहा था कि इसका एक "सही" उत्तर है, बस आपकी अपनी कोडिंग शैली के आधार पर एक व्यक्तिगत पसंद है, और ऊपर दी गई टिप्पणियां मेरी प्रतिबिंबित करती हैं।
- मैं किसी भी तरह से ऐसा नहीं मानता। विशेष रूप से PHP स्क्रिप्ट के साथ वैसे भी आमतौर पर ऐसी छोटी चलने वाली प्रक्रियाएं होती हैं।
हाँ :)
डेटाबेस पर उपरोक्त टिप्पणियां देखें, इस उद्देश्य के लिए आईएमओ के लिए यूनिक्स टाइमस्टैम्प का उपयोग करना "मूल" नहीं है। आप बस ->getTimezone
. पर कॉल कर सकते हैं और इसे डेटाबेस में स्टोर करें, फिर ->setTimezone
. का उपयोग करें जब आप इसे फिर से वापस खींचते हैं।