MySQL का उपयोग करके यूनिक्स टाइमस्टैम्प को मानव पठनीय तारीख में बदलें


222

क्या एक MySQL फ़ंक्शन है जिसका उपयोग यूनिक्स टाइमस्टैम्प को मानव पठनीय तिथि में परिवर्तित करने के लिए किया जा सकता है? मेरे पास एक क्षेत्र है जहां मैं यूनिक्स बार बचाता हूं और अब मैं मानव पठनीय तारीखों के लिए एक और क्षेत्र जोड़ना चाहता हूं।


1
MySQL मैनुअल में दिनांक और समय कार्य
Pekka

जवाबों:


392

उपयोग करें FROM_UNIXTIME():

SELECT
  FROM_UNIXTIME(timestamp) 
FROM 
  your_table;

यह भी देखें: पर MySQL प्रलेखनFROM_UNIXTIME()


3
यहाँ के लिए आधिकारिक डॉक्स हैं from_unixtime: dev.mysql.com/doc/refman/5.1/en/…
DACrosby

अफसोस की बात है कि कोई नहीं TO_UNIXTIME, बल्कि है UNIX_TIMESTAMP
ओलले हर्स्टेड

108

अन्य उत्तरों (इस लेखन के अनुसार) से क्या गायब है और सीधे स्पष्ट नहीं है कि from_unixtimeप्रारूप को निर्दिष्ट करने के लिए दूसरा पैरामीटर लिया जा सकता है:

SELECT
  from_unixtime(timestamp, '%Y %D %M %H:%i:%s')
FROM 
  your_table

20
बहुत मामूली समस्या है, लेकिन 12 घंटे के प्रारूप में% h घंटे है, जिसे तब पूर्णता (AM / PM) के लिए% p की आवश्यकता होती है। या% H, 24-घंटे के प्रारूप में घंटे देता है।
tlum


19

एक विशिष्ट टाइमज़ोन में यूनिक्स टाइमस्टैम्प की आवश्यकता है?

यहाँ एक लाइनर है यदि आपके पास mysql cli की त्वरित पहुँच है:

mysql> select convert_tz(from_unixtime(1467095851), 'UTC', 'MST') as 'local time';

+---------------------+
| local time          |
+---------------------+
| 2016-06-27 23:37:31 |
+---------------------+

'MST'अपने इच्छित समयक्षेत्र के साथ बदलें । मैं एरिज़ोना में रहता हूँ the इस प्रकार UTC से MST में रूपांतरण।


7

पढ़ने योग्य के रूप में क्षेत्र को बचाने के लिए परेशान क्यों? सिर्फ हमAS

SELECT theTimeStamp, FROM_UNIXTIME(theTimeStamp) AS readableDate
               FROM theTable
               WHERE theTable.theField = theValue;

संपादित करें: क्षमा करें, हम सब कुछ मिसे सेकंड में स्टोर करते हैं। ठीक कर दिया।


4

आप DATE_FORMAT फ़ंक्शन का उपयोग कर सकते हैं। यहां उदाहरणों के साथ एक पृष्ठ है, और पैटर्न आप विभिन्न दिनांक घटकों का चयन करने के लिए उपयोग कर सकते हैं।



1

चूंकि मुझे यह सवाल पता नहीं चल रहा था, कि mysql हमेशा UTC में टाइमस्टैम्प क्षेत्रों में समय संग्रहीत करता है, लेकिन स्थानीय समय क्षेत्र में (जैसे phpmyadmin) प्रदर्शित करूंगा कि मैं अपने निष्कर्षों को जोड़ना चाहूंगा।

मेरे पास स्वचालित रूप से अपडेट किया गया last_modified फ़ील्ड है, जिसे इस रूप में परिभाषित किया गया है:

`last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

इसे phpmyadmin के साथ देखकर, ऐसा लगता है कि यह स्थानीय समय में है, आंतरिक रूप से यह यूटीसी है

SET time_zone = '+04:00'; // or '+00:00' to display dates in UTC or 'UTC' if time zones are installed.
SELECT last_modified, UNIX_TIMESTAMP(last_modified), from_unixtime(UNIX_TIMESTAMP(last_modified), '%Y-%c-%d %H:%i:%s'), CONVERT_TZ(last_modified,@@session.time_zone,'+00:00') as UTC FROM `table_name`

किसी भी तारामंडल में, UNIX_TIMESTAMP और 'UTC' हमेशा UTC समय में प्रदर्शित होते हैं।

इसे दो बार चलाएं, पहले time_zone सेट किए बिना।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.