开发者

date.format in Chrome 5

I'm experiencing something really strange with my javascript in chrome with Date().format.

If I use the console and type:

d = new Date(Date.parse("2010-05-28"))
d.format("yyyy-MM-dd");
""
d._toFormat开发者_如何学运维tedString();
"Fri May 28 2010 00:00:00 GMT+0200 (W. Europe Daylight Time)"  

Anyone got any clue why I get an empty string? And it's only in Chrome, didn't happen in Chrome 4, and it doesn't happen in IE8/Firefox3.5


There is no format function in the Date object.

Are you getting that function from a plugin?
If so then I suggest you read the APIs looking for the possible parameters.

I don't know if this might help, but all the plugins I tried required two "y" to get the four digit year string.

d = new Date(Date.parse("2010-05-28"))
d.format("yy-MM-dd");

EDIT: Some other plugin uses the uppercase "Y", like d.format("Y-m-d");

EDIT2: It seems like you need to just format your date to "yyyy-MM-dd". You can add this prototype function in your code:

Date.prototype.toMyPreferredFormat = function(){
  var dd=this.getDate();
  if(dd<10)dd='0'+dd;
  var mm=this.getMonth()+1;
  if(mm<10)mm='0'+mm;
  var yyyy=this.getFullYear();
  return String(yyyy+"-"+mm+"-"+dd);
}

And use it like:

d = new Date(Date.parse("2010-05-28"))
d.toMyPreferredFormat();

Source of the prototype function

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜