Date Type in JavaScript

Date Type in JavaScript – ECMAScript का Date Type, Java के java..util.Date पर आधारित है। इस Date Format के अनुसार Dates को 1 January 1970 की रात 12:00 बजे से Millisecond के रूप में Calculate किया जाता है, जिसे UTC (Universal Time Code) कहते हैं।

Data Storage Format को Use करके हम 1 January 1070 से 285616 साल पहले व बाद की Date को Accurate तरीके से Date Type द्वारा Represent कर सकते हैं। Date Object Create करने के लिए भी हम Date Constructor का निम्नानुसार प्रयोग कर सकते हैं:

     var now = new Date();

जब हम Date Constructor में कोई Argument Pass नहीं करते, तब Create होने वाली Date में Current Date and Time Stored रहता है। Date Object को किसी Specified Date के साथ Create करने के लिए हमें इस Constructor में Date के Millisecond Representation को Argument के रूप में Pass करना होता है।

इस प्रक्रिया को आसानी से Handle करने के लिए ECMAScript हमें Date.parse()Date.UTC() नाम के दो Method Provide करता है।

Date.parse() Method किसी Date के String Representation को Argument के रूप में Accept करता है और फिर उस Date को Millisecond Representation में Convert करता है।

ECMAScript Date के किसी Specific Format को Specify नहीं करता इसलिए सामान्‍यत: Implement होने वाली Date Locale Specific होती है। यानी यदि Web Browser US में हो, तो वहां का Date Format निम्न में से कोई एक होता है:

month/date/year                                                  (such as 6/13/2004)
month_name date, year                                       (such as January 12, 2004)
day_of_week month_name date year hours:minutes:second के time_zone
                                                 (such as Tue May 25 2004 00:00:00 GMT – 0700)

उदाहरण के लिए यदि हम 20 Jan 2013 Value का Date Object Create करना चाहें, तो निम्नानुसार कर सकते हैं:

      var meetingDate = new Date(Date.parse(“Jan 20, 2013”));

यदि Date.parse() Method में Pass की गई String एक Value Date को Represent नहीं करता है, तो ये Method NaN Value Return करता है। यदि हम Date Constructor में बिना Date.parse() Method को Use किए हुए Directly String Format में Date को Specify कर दें, तो Date Constructor,Date.parse() Method को हमारी जानकारी के बिना स्वयं Call करता है। यानी हम उपरोक्त Statement को निम्नानुसार भी लिख सकते हैं:

      var meetingDate = new Date(“Jan 20, 2013”);

कई बार हम Date Constructor में गलत Date जैसे कि 20 Feb, 2009 Specify कर देते हैं, जबकि 2009 में फरवरी 28 दिन का ही था। इस स्थिति में विभिन्न Web Browsers ऐसी गलत Date को अलग-अलग तरीके से Treat करते हैं। इसलिए हमें हमेंशा सही Date को ही Specify करना चाहिए, नहीं तो Complex Bugs को Face करना पडता है।

Date.UTC() Method भी किसी Date को Millisecond के Representation में ही Return करता है, लेकिन Date.parse() Method की तुलना में थोडा अलग तरीके से। ये Method Year, Zero Based Months जहां जनवरी का मान 1 नहीं बल्कि 0 माना जाता है, Day of Month जहां Days की संख्‍या 1 से 31 के बीच कुछ भी हो सकती है, Hours जहां Hour का मान 0 से 23 के बीच कुछ भी हो सकता है, Minuets, Second के व Millisecond के को Argument के रूप में Accept करता है।

इस Method में हमें Year व Month को Compulsory रूप से Specify करना जरूरी होता है। यदि हम Day को Specify नहीं करते, तो ये Method Day को 1 मान लेता है जबकि सभी अन्‍य Omitted Arguments का मान 0 हो जाता है। निम्नानुसार दो उदाहरणों द्वारा हम इस Method को Use करना सीख सकते हैं:

[code]
//January 1, 2000 at midnight GMT
var y2k = new Date(Date.UTC(2000, 0));

//May 5, 2005 at 5:55:55 PM GMT
var allFives = new Date(Date.UTC(2005, 4, 5, 17, 55, 55));
[/code]

Date.parse()Date.UTC() दोनों ही Methods, Date Constructor के साथ काम करते हैं लेकिन थोडा अलग तरीके से। Date Constructor में यदि इन Methods को Manually Specify न किया जाए, तो Date Constrictor GMT Time नहीं बल्कि Local Time Zone के रूप में Date को Represent करता है।

जब हम Date Constructor में किसी Date को String के रूप में नहीं बल्कि Simple Arguments के रूप में Specify करते हैं, तब Date Constructor Automatically Date.UTC() Method द्वारा Date String को Date में Convert करता है, लेकिन ये Date Local Time Format में होता है, जबकि UTC() Method का Manually प्रयोग करने पर Date GMT Time में Represent होता है। जैसे-

[code]
//January 1, 2000 at midnight in local time
var y2k = new Date(2000, 0);

//May 5, 2005 at 5:55:55 PM local time
var allFives = new Date(2005, 4, 5, 17, 55, 55);
[/code]

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW GET DEMO REVIEWS