यह मॉड्यूल:Date हेतु प्रलेख पृष्ठ है

यह मॉड्यूल अन्य मॉड्यूल द्वारा उपयोग के लिए दिनांक फ़ंक्शन प्रदान करता है। ग्रेगोरियन कैलेंडर और जूलियन कैलेंडर में दिनांक 9999 ईसा पूर्व से 9999 ईस्वी तक समर्थित हैं। कैलेंडर प्रोलेप्टिक हैं—ऐसा माना जाता है कि वे बिना किसी अनियमितता के हर समय लागू होते हैं।

एक तारीख, वैकल्पिक समय के साथ, विभिन्न प्रारूपों में निर्दिष्ट की जा सकती है, और विभिन्न प्रारूपों का उपयोग करके प्रदर्शन के लिए परिवर्तित की जा सकती है, उदाहरण के लिए, 1 अप्रैल 2016 या 1 अप्रैल, 2016। किसी तारीख के गुणों में उसका जूलियन तिथि शामिल है और इसकी ग्रेगोरियन क्रमिक तिथि, साथ ही सप्ताह का दिन और वर्ष का दिन।

तारीखों की तुलना की जा सकती है (जैसे, date1 <= date2), और उनका उपयोग जोड़ या घटाव के साथ किया जा सकता है (जैसे, date + '3 months'). दो तिथियों के बीच का अंतर date1 - date2 से निर्धारित किया जा सकता है। ये ऑपरेशन ग्रेगोरियन और जूलियन कैलेंडर दोनों तिथियों के साथ काम करते हैं, लेकिन date1 - date2 शून्य है यदि दोनों तिथियां अलग-अलग कैलेंडर का उपयोग करती हैं।

मॉड्यूल निम्नलिखित कार्य प्रदान करता है।

Export Description
_current वर्तमान वर्ष, माह, दिन, घंटा, मिनट, सेकंड के साथ तालिका।
_Date फ़ंक्शन जो एक निर्दिष्ट तिथि के लिए एक तालिका लौटाता है।
_days_in_month फ़ंक्शन जो एक महीने में दिनों की संख्या लौटाता है।

निम्नलिखित में मॉड्यूल का उपयोग करने के उदाहरण हैं:

स्वरूपित आउटपुट

संपादित करें

किसी दिनांक को टेक्स्ट के रूप में स्वरूपित किया जा सकता है.

local Date = require('Module:Date')._Date
local text = Date(2016, 7, 1):text()          -- परिणाम '1 जुलाई 2016' है
local text = Date(2016, 7, 1):text('%-d %B')  -- परिणाम '1 जुलाई' है
local text = Date('1 जुलाई 2016'):text('mdy')  -- परिणाम 'जुलाई 1 2016' है

निम्नलिखित सरलीकृत फ़ॉर्मेटिंग कोड उपलब्ध हैं.

कोड परणाम
hm घंटा:मिनट, "am" या "pmर" या प्रकार के साथ, यदि निर्दिष्ट हो (14:30 या 2:30 अपराह्न या प्रकार)
hms घंटा:मिनट:सेकंड (14:30:45)
ymd साल-महीना-दिन (2016-07-01)
mdy महीना दिन, साल (July 1, 2016)
dmy दिन महीना साल (1 July 2016)

निम्नलिखित फ़ॉर्मेटिंग कोड (strftime के समान) उपलब्ध हैं।

कोड परिणाम
%a दिन का संक्षिप्त नाम: सोम, मंगल,...
%A दिन का नाम: सोमवार, मंगलवार,...
%u सप्ताह का दिन: 1 से 7 (सोमवार से रविवार)
%w सप्ताह का दिन: 0 से 6 (रविवार से शनिवार)
%d माह का दिन शून्य-पैडेड: 01 से 31
%b माह का संक्षिप्त रूप: जनवरी से दिसंबर
%बB माह का नाम: जनवरी से दिसंबर
%m माह शून्य-पद: 01 से 12
%Y वर्ष शून्य-पैडेड: 0012, 0120, 1200
%H 24 घंटे की घड़ी शून्य-पैडेड: 00 से 23 तक
%I घंटा 12-घंटे की घड़ी शून्य-पैडेड: 01 से 12
%p एएम या पीएम या विकल्प के रूप में
%M शून्य-पैडेड मिनट: 00 से 59
%S दूसरा शून्य-पैडेड: 00 से 59
%j वर्ष का दिन शून्य-पैडेड: 001 से 366
%-d महीने का दिन: 1 से 31 तक
%-m माह: 1 से 12
%-Y वर्ष: 12, 120, 1200
%-H घंटा: 0 से 23
%-M मिनट: 0 से 59
%-S दूसरा: 0 से 59
%-j वर्ष का दिन: 1 से 366 तक
%-I घंटा: 1 से 12
%% %

इसके अलावा, %{property} (जहाँ property किसी दिनांक की कोई संपत्ति है) का उपयोग किया जा सकता है।

उदाहरण के लिए, Date('1 फ़रवरी 2015 14:30:45 A.D.') में निम्नलिखित गुण हैं।

कोड परिणाम
%{calendar} ग्रीगोरियन
%{year} 2015
%{month} 2
%{day} 1
%{hour} 14
%{minute} 30
%{second} 45
%{dayabbr} रवि
%{dayname} रविवार
%{dayofweek} 0
%{dow} 0 (dayofweek जैसा)
%{dayofweekiso} 7
%{dowiso} 7 (dayofweekiso जैसा)
%{dayofyear} 32
%{era} A.D.
%{gsd} 735630 (1 जनवरी 1 सीई से दिनों की संख्या; पहला दिन 1 है)
%{juliandate} 2457055.1046875 (जूलियन दिन)
%{jd} 2457055.1046875 (juliandate जैसा)
%{isleapyear} गलत
%{monthdays} 28
%{monthabbr} फव
%{monthname} फरवरी

कुछ शॉर्टकट उपलब्ध हैं. <कोड>date = date('1 फव 2015 14:30')</कोड> को देखते हुए, निम्नलिखित परिणाम होंगे।

कोड विवरण उदाहरण परिणाम समतुल्य प्रारूप
date:text('%c') तिथि और समय 2:30 pm 1 फरवरी 2015 %-I:%M %p %-d %B %-Y %{era}
date:text('%x') तिथि 1 फरवरी 2015 %-d %B %-Y %{era}
date:text('%X') समय 2:30 pm %-I:%M %p

जूलियन तिथि

संपादित करें

निम्नलिखित में एक जूलियन तारीख को एक तारीख में बदलने, फिर तारीख के बारे में जानकारी प्राप्त करने का एक उदाहरण है।

-- कोड                                                -- परिणाम
Date = require('Module:Date')._Date
date = Date('juliandate', 320)
number = date.gsd                                      -- -1721105
number = date.jd                                       -- 320
text = date.dayname                                    -- शनिवार
text = date:text()                                     -- 9 अक्टूबर 4713&nbsp;BC
text = date:text('%Y-%m-%d')                           -- 4713-10-09
text = date:text('%{era} %Y-%m-%d')                    -- BC 4713-10-09
text = date:text('%Y-%m-%d %{era}')                    -- 4713-10-09&nbsp;BC
text = date:text('%Y-%m-%d %{era}', 'era=B.C.E.')      -- 4713-10-09&nbsp;B.C.E.
text = date:text('%Y-%m-%d', 'era=BCNEGATIVE')         -- -4712-10-09
text = date:text('%Y-%m-%d', 'era=BCMINUS')            -- −4712-10-09 (MINUS SIGN U+2212 का इस्तेमाल करता है)
text = Date('juliandate',320):text('%{gsd} %{jd}')     -- -1721105 320
text = Date('Oct 9, 4713 B.C.E.'):text('%{gsd} %{jd}') -- -1721105 320
text = Date(-4712,10,9):text('%{gsd} %{jd}')           -- -1721105 320

तिथियों मे अंतर

संपादित करें

दो तिथियों के बीच का अंतर date1 - date2 से निर्धारित किया जा सकता है। परिणाम मान्य है यदि दोनों तिथियां ग्रेगोरियन कैलेंडर का उपयोग करती हैं या यदि दोनों तिथियां जूलियन कैलेंडर का उपयोग करती हैं, अन्यथा परिणाम शून्य है। दिनांक अंतर से आयु और अवधि की गणना की जा सकती है।

जैसे:

-- कोड                                      -- परिणाम
Date = require('Module:Date')._Date
date1 = Date('21 Mar 2015')
date2 = Date('4 Dec 1999')
diff = date1 - date2
d = diff.age_days                            -- 5586
y, m, d = diff.years, diff.months, diff.days -- 15, 3, 17 (15 साल + 3 महीने + 17 दिन)
y, m, d = diff:age('ymd')                    -- 15, 3, 17
y, m, w, d = diff:age('ymwd')                -- 15, 3, 2, 3 (15 साल + 3 महीने + 2 हफ्ते + 3 दिन)
y, m, w, d = diff:duration('ymwd')           -- 15, 3, 2, 4
d = diff:duration('d')                       -- 5587 (अवधि में अंतिम दिन भी शामिल है)

तारीख का अंतर मूल तारीखों को बरकरार रखता है, सिवाय इसके कि उनकी अदला-बदली की जाती है इसलिए diff.date1 >= diff.date2 (diff.date1 नवीनतम तारीख है)। इसे निम्नलिखित में दर्शाया गया है।

date1 = Date('21 Mar 2015')
date2 = Date('4 Dec 1999')
diff = date1 - date2
neg = diff.isnegative                        -- गलत
text = diff.date1:text()                     -- 21 मार्च 2015
text = diff.date2:text()                     -- 4 दिसंबर 1999
diff = date2 - date1
neg = diff.isnegative                        -- सही (तारीखों की अदला-बदली कर दी गई है)
text = diff.date1:text()                     -- 21 मार्च 2015
text = diff.date2:text()                     -- 4 दिसंबर 1999

दिनांक अंतर से समय का अंतर भी होता है:

date1 = Date('8 Mar 2016 0:30:45')
date2 = Date('19 Jan 2014 22:55')
diff = date1 - date2
y, m, d = diff.years, diff.months, diff.days      -- 2, 1, 17
H, M, S = diff.hours, diff.minutes, diff.seconds  -- 1, 35, 45

दिनांक अंतर को किसी तिथि में जोड़ा जा सकता है, या किसी तिथि से घटाया जा सकता है।

date1 = Date('8 Mar 2016 0:30:45')
date2 = Date('19 Jan 2014 22:55')
diff = date1 - date2
date3 = date2 + diff
date4 = date1 - diff
text = date3:text('ymd hms')        -- 2016-03-08 00:30:45
text = date4:text('ymd hms')        -- 2014-01-19 22:55:00
equal = (date1 == date3)            -- सही
equal = (date2 == date4)            -- सही

दिनांक अंतर की आयु और अवधि विधियां एक कोड स्वीकार करती हैं जो उन घटकों की पहचान करती है जिन्हें वापस किया जाना चाहिए। अवधि पद्धति में एक अतिरिक्त दिन शामिल किया गया है क्योंकि इसमें अंतिम दिन भी शामिल है।

कोड लौटाए हुए मान
'ymwd' साल, महीने, हफ्ते, दिन
'ymd' साल, महीने, दिन
'ym' साल, महीने
'y' साल
'm' महीने
'wd' हफ्ते, दिन
'w' हफ्ते
'd' दिन