MySQL टाइमस्टैम्प :
UTC में संग्रहीत हैं
वे भंडारण पर यूटीसी में परिवर्तित हो जाते हैं और पुनर्प्राप्ति पर आपके समय क्षेत्र में वापस परिवर्तित हो जाते हैं। यदि आप समय क्षेत्र सेटिंग्स बदलते हैं , तो पुनर्प्राप्त मान भी बदल जाते हैं।
स्वचालित रूप से प्रारंभ और अद्यतन किया जा सकता है
आप उनका डिफ़ॉल्ट मान और / या ऑटो अपडेट मूल्य निर्धारित कर सकते हैं CURRENT_TIMESTAMP
की सीमा 1970-01-01 00:00:01 UTC
है2038-01-19 03:14:07 UTC
जबकि MySQL डेटाइम :
आप क्या स्टोर करते हैं जो आपको ™ मिलता है।
की सीमा 1000-01-01 00:00:00
है9999-12-31 23:59:59
श्रेणी के बाहर के मूल्य काम कर सकते हैं - लेकिन सीमा के भीतर केवल मूल्यों को काम करने की गारंटी है।
आप उन तिथियों को स्टोर कर सकते हैं जहां दिन या महीना शून्य है।
यह जन्मदिन मनाने का MySQL तरीका है! आप ऐसा नहीं कर सकते हैं TIMESTAMP
, जिसका एकमात्र अपवाद शून्य मान है 0000-00-00
।
यदि आप की आवश्यकता है, तो आप ALLOW_INVALID_DATES मोड में, अमान्य दिनांक संग्रहीत कर सकते हैं ।
आप NOW()
कुछ उदाहरणों में डिफ़ॉल्ट मान सेट कर सकते हैं , लेकिन स्वचालित रूप से आरंभिक और अद्यतित तारीखों का बेहतर और स्वाभाविक तरीका है TIMESTAMP
।
और निश्चित रूप से वहाँ भी कर रहे हैं DATE
और TIME
, जो काम की तरह DATETIME
, लेकिन निश्चित रूप से DATE
समय की TIME
परवाह नहीं करता है और तारीख की परवाह नहीं करता है। सभी चार डेटा प्रकार पूरी तरह से दिनांक और समय फ़ंक्शन की विस्तृत सरणी के साथ काम करते हैं , लेकिन जब आप डेटा प्रकारों को मिला रहे होते हैं तो आपको रूपांतरण प्रभावों के बारे में पता होना चाहिए ।
अब, आपके प्रश्न के लिए: आपको DATETIME
हर जगह का उपयोग करना चाहिए । तकनीकी कारणों से नहीं, लेकिन चूंकि आप अभी भी स्पष्ट नहीं हैं कि MySQL कैसे काम करता है, DATETIME
इसलिए यह सरल विकल्प है। इसका मतलब यह होगा कि आपको स्टोर करने से पहले PHP में वर्तमान टाइमस्टैम्प की गणना करना होगा, यह उतना आसान है:
$mysqldate = date("Y-m-d H:i:s");
PHP की तारीख समारोह की तरह काम करता है:
string date ( string $format [, int $timestamp = time() ] )
"Y-m-d H:i:s"
प्रारूप एक MySQL के साथ और दूसरा पैरामीटर खाली छोड़ कर संगत है, date()
कहता है time()
वर्तमान पाने के लिए यूनिक्स टाइमस्टैम्प ।
MySQL के अतिरिक्त मान का उपयोग करने के TIMESTAMP
बजाय DATETIME
वर्तमान टाइमस्टैम्प पर निर्णय लेने की जिम्मेदारी लेते हुए, और जब आप सम्मिलित / अद्यतन कर रहे हैं, तो आप फ़ील्ड को छोड़ सकते हैं। लेकिन जब से आप पहले से ही एक क्वेरी भेज रहे हैं, और PHP में वर्तमान टाइमस्टैम्प प्राप्त करने के लिए कोड न्यूनतम है, आप सुरक्षित रूप से DATETIME
सब कुछ के लिए जा सकते हैं ।
डेटाबेस में PHP टाइमस्टैम्प को स्टोर करने के लिए वास्तविक कोड के रूप में, आपको PHP डेटा ऑब्जेक्ट को देखना चाहिए , और यदि आप अभी भी अस्पष्ट हैं, तो इसके बजाय StackOverflow पर पूछें । लेकिन पहले से ही लगभग 1.5k संबंधित प्रश्न हैं , पूछने से पहले सुनिश्चित करें कि आप उनके माध्यम से जाते हैं। बस एक संकेत, तैयार बयान है कि शांत बच्चे कैसे करते हैं।