Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं php mysqli का उपयोग कर डेटाबेस में किसी ईवेंट का वास्तविक समय कैसे सम्मिलित कर सकता हूं?

टाइमज़ोन के साथ खिलवाड़ करने के बजाय, ऐसा क्यों न करें

ALTER TABLE `your_table`
  CHANGE `date_added` `date_added`
  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

यह बदल जाएगा आपका कॉलम DATE कॉलम से TIMESTAMP कॉलम तक , प्रक्रिया में सभी तिथियों को उनके संबंधित UTC टाइमस्टैम्प में परिवर्तित करना।

जब एक नई पंक्ति डाली जाती है, यह वर्तमान टाइमस्टैम्प का उपयोग करेगा मान के रूप में . टाइमस्टैम्प हमेशा UTC में होते हैं, इसलिए आपको अपने MySql सर्वर पर टाइमज़ोन बदलने की ज़रूरत नहीं है, और न ही कोई नई पंक्ति डालने की तारीख की आपूर्ति करने की आवश्यकता है।

यदि आप अपने कॉलम नहीं बदल सकते हैं या नहीं बदलना चाहते हैं, तो आप केवल टाइमस्टैम्प के माध्यम से भी चुन सकते हैं

SELECT UNIX_TIMESTAMP('date_added') FROM your_table;

अपने TimeAgo के लिए, आप बस ऐसा कर सकते हैं

$now = new DateTime;
$dateAdded = new DateTime("@$yourTimestampFromDb");
$dateAdded->setTimezone($now->getTimezone());
$timeSinceAdded = $dateAdded->diff($now);

जब आप डेटटाइम को टाइमस्टैम्प की आपूर्ति करते हैं, तो यह आपके डिफ़ॉल्ट सर्वर टाइमज़ोन सेट की परवाह किए बिना हमेशा यूटीसी का उपयोग करेगा। नतीजतन, आपको या तो $dateAdded . कन्वर्ट करना होगा डिफ़ॉल्ट टाइमज़ोन में (जैसा कि ऊपर दिखाया गया है) या कन्वर्ट करें $timeSinceAdded यूटीसी को।

दिनांक समय को वर्तमान में आने वाले उपयोगकर्ता के समय क्षेत्र में बदलने के लिए, आप या तो

किसी भी स्थिति में, फिर आप दोनों डेटटाइम्स को उस टाइमज़ोन में बदल दें। यह आसानी से setTimezone() . के माध्यम से किया जाता है ।

$timeSinceAdded तब एक DateInterval होगा ऑब्जेक्ट, जिसे आप इस तरह इस्तेमाल कर सकते हैं

echo $timeSinceAdded->format('%a total days');

कृपया अधिक विवरण के लिए लिंक देखें, उदाहरण के लिए उपलब्ध प्रारूप संशोधक पर।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूनिकोड सीएसवी फ़ाइल में बंगाली भाषा का पाठ प्रदर्शित नहीं किया गया

  2. Mysqli के साथ और अधिक समस्याएँ होना। परिणामों में संख्यात्मक डेटा

  3. डेटाबेस फ़ील्ड में व्हाइटस्पेस ट्रिम द्वारा नहीं हटाया जाता है ()

  4. आप विकास, परीक्षण और उत्पादन में डेटाबेस का प्रबंधन कैसे करते हैं?

  5. MySQL बहुस्तंभ प्राथमिक कुंजी