P
ROTOTYPE
I'm Not Only The Prototype, I'm Also A Member.
home
▪
stats
▪
search
▪
linkback
▪
about
▪
FAQ
| user: guest,
login
,
register
Date
:
Date.getFormatedString / Date.parseDate - Work with dates in different formats...
author:
MattWalker
[+]
,
Submitted: 12.03.03 3a
/* * Date.getFormatedString(format) */ Date.prototype.getFormatedString = function(format){ var keys = { y:"getFullYear", m:"getMonth", d:"getDate", h:"getHours", n:"getMinutes", s:"getSeconds", i:"getMilliseconds" } var str = ""; var ci, meth; for(var i=0; i<format.length; i++){ ci = format.charAt(i); if(keys[ci] != undefined){ meth = keys[ci]; if(meth == "getMonth"){ var val = (this[meth]()+1); str += (val<10) ? "0"+val : val; }else{ var val = (this[meth]()); str += (val<10) ? "0"+val : val; } }else{ str += ci; } } return str; } //--------------------------------------------------- /* * Date.parseDate(dt, format) * Originally by Peter Hall - www.peterjoel.com */ Date.prototype.parseDate = function(dt, format){ var keys = { y:"setFullYear", m:"setMonth", d:"setDate", h:"setHours", n:"setMinutes", s:"setSeconds", i:"setMilliseconds" } var num, ci, meth; var commands = new Array(); for(var i=0,j=0,k; i<format.length; i++,j++){ ci = format.charAt(i); if(keys[ci] != undefined){ for(k=j; k<=dt.length && !isNaN(dt.charAt(k)); k++); if(k > dt.length)return; num = parseInt(dt.substring(j,k)); meth = keys[ci]; if(meth == "setMonth"){ commands[meth] = num-1; }else{ commands[meth] = num } j = k-1; } } for (var i in keys) { if (commands[keys[i]] != undefined) { this[keys[i]](commands[keys[i]]); } } }
usage
/* * Date.getFormatedString(format) */ Returns a string representing a date in the supplied format Writen as a companion to Date.parseDate below (originally by Peter Hall) *Params: format - a string showing the format *Returns a string representing a the date in that format. *Examples: //iso format Code: var now = new Date(); trace(now.getFormatedString("y-m-d h:n:s")); Output: 2003-12-03 10:34:03 //UK date format Code: var now = new Date(); trace(now.getFormatedString("d/m/y")); Output: 03/12/2003 //--------------------------------------------------- /* * Date.parseDate(dt, format) * Originally by Peter Hall - www.peterjoel.com */ This prototype was originally written by Peter Hall and posted at http://chattyfig.figleaf.com/ezmlm/ezmlm-cgi?1:mss:57776 This is a modified version to fix a problem when setting the day before the month. *Parmas: dt - The date string to parse ("03/12/2003") format = A string representing the format the string is in ("d/m/y") *Returns: nothing - it sets the date of the date object *Examples: //iso format Code: var now = new Date(); now.parseDate("2003-12-03 10:34:03","y-m-d h:n:s"); trace(now); Output: Wed Dec 3 10:34:03 GMT+0000 2003 //UK date format Code: var now = new Date(); now.parseDate("01/12/2003","d/m/y"); trace(now); Output: Mon Dec 1 10:53:44 GMT+0000 2003
msg
1
{
Dis
[+]
, posted: 07.14.08 1p•-, top
[^]
}
question
why
trace(parseDate("14/07/2007", "d/m/y"))
and
trace(parseDate("03/01/2008", "d/m/y"))
return dates in different GMT times?
On my PC first is in GMT-4 and second is in GMT-5
Add Comment
[+]
›opyleft 2001-2010. Layer51 is: Jaime Prado.
@