/** * Convert string to date Object * Parameter: Date string For example: 2011-04-19 or 19/04/2011 * Return: Date Object dates * Note: IE does not support direct instantiation of date objects, such as new date ("2011-04-06") **/ Date.prototype.converdate=function (date) { var flag=true; var datearray=date.splite ("-"); if (datearray.length!=3) { Datearray=date.splite ("/"); if (dataarray.length!=3) { return null; } Flag=false; } var newdate=new Date (); if (flag) { Month starting from 0 Newdate.setfullyear (Datearray[0], datearray[1]-1, datearray[2]); } else{ Newdate.setfullyear (Datearray[2], datearray[1]-1, datearray[0]); } Newdate.sethours (0, 0, 0); return newdate; }; /* Demo <script type= "Text/javascript" > Document.writeln (New Date (). Convertdate ("7/12/2011")); </script> */
/* Function: To determine whether a year is a leap years Return: is a leap year */
Date.prototype.isLeapYear = function () { var year = This.getfullyear (); Return (year% 4 = 0) && (year%!= 0 | |-year% 400 = 0); } /* <script type= "Text/javascript" > Document.writeln (New Date (). Convertdate ("2000-04-08"). Isleapyear () + "<BR>"); Document.writeln (New Date (). Convertdate ("2011-04-08"). Isleapyear () + "<BR>"); </script> Results: True False */
/* Functions: Calculates the difference between two dates Parameter: Date is a Day object flag:ms-millisecond, S-second, M-minute, H-hour, D-Day, M-month, y-year Returns: Millisecond/sec/min/hour/day for the difference between the current date and date two dates */ Date.prototype.dateDiff = function (date, flag) { var Mscount; var diff = this.gettime ()-date.gettime (); Switch (flag) { Case "MS": Mscount = 1; Break Case "S": Mscount = 1000; Break Case "M": Mscount = 60 * 1000; Break Case "H": Mscount = 60 * 60 * 1000; Break Case "D": Mscount = 24 * 60 * 60 * 1000; Break } return Math.floor (Diff/mscount); }; /* <script type= "Text/javascript" > var D1 = new Date (). Convertdate ("2011-04-08"); var d2 = new Date (). Convertdate ("2011-04-07"); Document.writeln (D1.datediff (D2, ' d ')); </script> */
/*
Functions: Formatting dates Parameters: formatstr-format string D: Displays the day as a number with no leading zeros, such as 1 DD: Displays the day as a number with a leading zero, such as 01 DDD: Displays the day as an abbreviated form, such as sun DDDD: Displays the day as full name, such as Sunday <span class= "Goog_qs-tidbit goog_qs-tidbit-0" >m: Displays the month as a number with no leading zeros, as shown in January as 1 MM: Displays the month as a </SPAN> number with leading zeros, such as 01 MMM: Displays the month as an abbreviated form, such as a few MMMM: Displays the month as full month name, such as January YY: Display year in two-digit number format YYYY: Display year in four-digit number format H: Use a 12-hour system to display hours without leading zeros, note | | Use of H: Use a 24-hour system to display the hours as a number with no leading zeros HH: Use a 24-hour system to display hours as numbers with leading zeros M: Displays the minute as a number without a leading zero MM: Displays the minute as a number with a leading zero S: Displays seconds as numbers with no leading zeros SS: Displays seconds as digits with leading zeros L: Displays the millisecond as a number without a leading zero LL: Displays the millisecond as a number with a leading zero TT: Show am/pm TT: Show am/pm Back: Formatted date */ Date.prototype.format = function (formatstr) { var date = this;
/* Functions: Populating 0 characters Parameters: value-need to fill the string, length-total length Returns: The filled string */ var zeroize = function (value, length) { if (!length) { length = 2; } Value = new String (value); for (var i = 0, zeros = '; i < (length-value.length); i++) { Zeros + = ' 0 '; } return zeros + value; };
return Formatstr.replace (/"[^"]* "|") [^ ']* ' |b (?:d {1,4}| M{1,4}|yy (?: yy)? | ([HHMSTT]) 1?| [Llz]) b/g, function ($) { Switch ($) { Case ' d ': return Date.getdate (); Case ' DD ': Return Zeroize (Date.getdate ()); Case ' DDD ': return [' Sun ', ' Mon ', ' Tue ', ' Wed ', ' Thr ', ' Fri ', ' Sat '][date.getday ()]; Case ' dddd ': return [' Sunday ', ' Monday ', ' Tuesday ', ' Wednesday ', ' Thursday ', ' Friday ', ' Saturday '][date.getday ()]; Case ' M ': Return Date.getmonth () + 1; Case ' MM ': Return Zeroize (Date.getmonth () + 1); Case ' MMM ': return [' Out of the window ', ' Feb ', ' Mar ', ' Apr ', ' may ', ' June ', ' o ', ' Aug ', ' Sep ', ' Oct ', ' Nov ', ' Dec '][date.getmonth ()]; Case ' MMMM ': return [' January ', ' February ', ' March ', ' April ', ' may ', ' June ', ' July ', ' August ', ' September ', ' October ', ' No ' Vember ', ' December '][date.getmonth ()]; Case ' yy ': return new String (Date.getfullyear ()). substr (2); Case ' yyyy ': return Date.getfullyear (); Case ' H ': return date.gethours ()% 12 | | 12; Case ' hh ': Return Zeroize (date.gethours ()% 12 | | 12); Case ' H ': return date.gethours (); Case ' HH ': Return Zeroize (Date.gethours ()); Case ' m ': return Date.getminutes (); Case ' mm ': Return Zeroize (Date.getminutes ()); Case ' s ': return Date.getseconds (); Case ' SS ': Return Zeroize (Date.getseconds ()); Case ' l ': return Date.getmilliseconds (); Case ' ll ': Return Zeroize (Date.getmilliseconds ()); Case ' TT ': Return date.gethours () < 12? ' Am ': ' PM '; Case ' TT ': Return date.gethours () < 12? ' AM ': ' PM '; } }); }
/** <script type= "Text/javascript" > Document.writeln (New Date (). Format ("Yyyy-mm-dd hh:mm:ss")); </script> Results: 2011-04-08 10:13:37 *// |