SQLite दिनांक और समय के साथ काम करने के लिए पाँच कार्यों का समर्थन करता है। ये हैं:
date()
time()
datetime()
julianday()
strftime()
ये सभी कार्य एक समय स्ट्रिंग को एक तर्क के रूप में स्वीकार करते हैं। वे आउटपुट को संशोधित/स्वरूपित करने के लिए अन्य तर्क भी स्वीकार करते हैं।
strftime()
फ़ंक्शन पांच का सबसे बहुमुखी कार्य है। वास्तव में, यह फ़ंक्शन वह सब कुछ कर सकता है जो अन्य चार कर सकते हैं।
दूसरे शब्दों में, आप strftime()
. का उपयोग कर सकते हैं आपकी सभी दिनांक और समय स्वरूपण आवश्यकताओं के लिए। अन्य चार कार्य केवल सुविधा के लिए उपलब्ध हैं।
सिंटैक्स
प्रत्येक फ़ंक्शन का सिंटैक्स इस प्रकार है:
date(timestring, modifier, modifier, ...)
time(timestring, modifier, modifier, ...)
datetime(timestring, modifier, modifier, ...)
julianday(timestring, modifier, modifier, ...)
strftime(format, timestring, modifier, modifier, ...)
पहले चार कार्यों में, पहला तर्क एक समय स्ट्रिंग है, और कोई भी बाद के तर्क संशोधक हैं।
strftime()
. में फ़ंक्शन पहला तर्क प्रारूप स्ट्रिंग है, उसके बाद समय स्ट्रिंग, और कोई भी संशोधक।
सभी मान्य समय स्ट्रिंग और संशोधक इस आलेख के नीचे सूचीबद्ध हैं।
लेकिन पहले, आइए इनमें से प्रत्येक फ़ंक्शन के कुछ त्वरित उदाहरण देखें।
दिनांक() फ़ंक्शन
आप date()
का उपयोग कर सकते हैं एक तर्क के साथ, या कई तर्कों के साथ कार्य करें।
यहाँ सिर्फ एक तर्क के साथ एक उदाहरण दिया गया है:
SELECT date('now');
परिणाम:
2020-04-23
यहां एक उदाहरण दिया गया है जो संशोधक का उपयोग करता है:
SELECT date('now', 'localtime');
परिणाम:
2020-04-24
इस मामले में मैंने localtime
. का इस्तेमाल किया संशोधक यह संशोधक मानता है कि समय स्ट्रिंग यूनिवर्सल कोऑर्डिनेटेड टाइम (UTC) में है और समय स्ट्रिंग को समायोजित करता है ताकि यह स्थानीय समय प्रदर्शित करे।
समय() फ़ंक्शन
time()
फ़ंक्शन date()
. के समान है फ़ंक्शन, सिवाय इसके कि यह दिनांक के बजाय समय को आउटपुट करता है।
यहां एक उदाहरण दिया गया है:
SELECT time('now');
परिणाम:
00:02:05
और यहाँ यह localtime
. के साथ है संशोधक:
SELECT time('now', 'localtime');
परिणाम:
10:02:09
डेटाटाइम() फ़ंक्शन
SQLite datetime()
फ़ंक्शन पिछले दो कार्यों को जोड़ता है, इस अर्थ में कि यह दिनांक और समय दोनों को आउटपुट करता है।
यहां एक उदाहरण दिया गया है:
SELECT datetime('now');
परिणाम:
"2020-04-24 00:04:13"
और यहाँ यह localtime
. के साथ है संशोधक:
SELECT datetime('now', 'localtime');
परिणाम:
"2020-04-24 10:04:46"
द जूलियनडे () फंक्शन
julianday()
फ़ंक्शन जूलियन अवधि की शुरुआत के बाद से दिनों की निरंतर गिनती देता है, जो सोमवार, 1 जनवरी, 4713 ईसा पूर्व, प्रोलेप्टिक जूलियन कैलेंडर (24 नवंबर, 4714 ईसा पूर्व, प्रोलेप्टिक ग्रेगोरियन कैलेंडर में) है।
यह now
का उपयोग करने जैसा दिखता है, यह यहां दिया गया है टाइमस्ट्रिंग के रूप में:
SELECT julianday('now');
परिणाम:
2458963.50964815
और यहाँ यह localtime
. का उपयोग कर रहा है संशोधक:
SELECT julianday('now', 'localtime');
परिणाम:
2458963.92637685
द स्ट्रैटटाइम () फंक्शन
जैसा कि बताया गया है, strftime()
फ़ंक्शन का उपयोग पिछले कार्यों में उपलब्ध किसी भी प्रारूप में दिनांक और समय मानों को आउटपुट करने के लिए किया जा सकता है।
यह फ़ंक्शन आपको बहुत विशिष्ट होने की अनुमति देता है कि आपकी तिथि/समय मान कैसे स्वरूपित होते हैं। यह आपको सटीक प्रारूप प्रदान करने में सक्षम बनाता है जिसे आप प्रस्तुत करना चाहते हैं।
इस फ़ंक्शन का सिंटैक्स इस प्रकार है:
strftime(format, timestring, modifier, modifier, ...)
ध्यान दें कि पहला तर्क format
है . यह वह जगह है जहां आप वह प्रारूप प्रदान करते हैं जिसमें आप चाहते हैं कि समय स्ट्रिंग आउटपुट हो।
strftime()
. के लिए प्रारूप स्ट्रिंग निम्न में से कोई भी प्रतिस्थापन शामिल हो सकता है:
%d | महीने का दिन:00 |
%f | आंशिक सेकंड:SS.SSS |
%H | घंटा:00-24 |
%j | वर्ष का दिन:001-366 |
%J | जूलियन दिवस संख्या |
%m | महीना:01-12 |
%M | मिनट:00-59 |
%s | 1970-01-01 के बाद से सेकंड |
%S | सेकंड:00-59 |
%w | सप्ताह का दिन 0-6 रविवार के साथ==0 |
%W | वर्ष का सप्ताह:00-53 |
%Y | वर्ष:0000-9999 |
%% | % |
यहां एक उदाहरण दिया गया है:
SELECT strftime('%Y-%m-%d %H:%M:%S', 'now');
परिणाम:
"2020-04-24 00:43:51"
इस मामले में हमें वही परिणाम मिलता है जो datetime()
. का उपयोग करते समय मिलता है समारोह।
यहाँ यह localtime
. के साथ है संशोधक:
SELECT strftime('%Y-%m-%d %H:%M:%S', 'now', 'localtime');
परिणाम:
"2020-04-24 10:45:27"
फिर से, datetime()
. के समान परिणाम . अंतर है, strftime()
हमें आउटपुट के प्रारूप को स्पष्ट रूप से निर्दिष्ट करने में सक्षम बनाता है।
उदाहरण के लिए:
SELECT strftime('%d/%m/%Y %H:%M:%S', 'now', 'localtime');
SELECT strftime('%m/%d/%Y (%H:%M:%S)', 'now', 'localtime');
SELECT strftime('%H:%M:%S on %d/%m/%Y', 'now', 'localtime');
परिणाम:
"24/04/2020 10:49:41" "04/24/2020 (10:52:24)" "10:51:13 on 24/04/2020"
वैध समय स्ट्रिंग प्रारूप
सभी दिनांक/समय कार्यों में समय स्ट्रिंग तर्क को निम्न में से किसी भी प्रारूप में आपूर्ति की जा सकती है:
- YYYY-MM-DD
- YYYY-MM-DD HH:MM
- YYYY-MM-DD HH:MM:SS
- YYYY-MM-DD HH:MM:SS.SSS
- YYYY-MM-DDTHH:MM
- YYYY-MM-DDTHH:MM:SS
- YYYY-MM-DDTHH:MM:SS.SSS
- एचएच:एमएम
- एचएच:एमएम:एसएस
- एचएच:एमएम:एसएस.एसएसएस
- अब
- डीडीडीडीडीडीडीडीडीडी
मान्य संशोधक
आप दिनांक/समय कार्यों के साथ निम्न में से किसी भी संशोधक का उपयोग कर सकते हैं:
- एनएनएन दिन
- एनएनएन घंटे
- एनएनएन मिनट
- NNNN.NNNN सेकंड
- एनएनएन महीने
- एनएनएन वर्ष
- महीने की शुरुआत
- वर्ष की शुरुआत
- दिन की शुरुआत
- कार्यदिवस एन
- यूनिक्सपोच
- स्थानीय समय
- यूटीसी
N
एक संख्या को संदर्भित करता है जो निर्दिष्ट इकाई के आधार पर तिथि में जोड़ा जाता है।
उदाहरण के लिए:
SELECT
date('now'),
date('now', '3 days');
परिणाम:
date('now') date('now', '3 days') ----------- --------------------- 2020-04-24 2020-04-27
यहां एक है जो start of month
का उपयोग करता है संशोधक के रूप में:
SELECT
date('now'),
date('now', 'start of month');
परिणाम:
date('now') date('now', 'start of month') ----------- ----------------------------- 2020-04-24 2020-04-01