【问题标题】:date.format in Chrome 5Chrome 5 中的日期格式
【发布时间】:2010-05-28 20:17:59
【问题描述】:

我在使用 Date().format 的 chrome 中使用我的 javascript 时遇到了一些非常奇怪的事情。

如果我使用控制台并输入:

d = new Date(Date.parse("2010-05-28"))
d.format("yyyy-MM-dd");
""
d._toFormattedString();
"Fri May 28 2010 00:00:00 GMT+0200 (W. Europe Daylight Time)"  

有人知道为什么我得到一个空字符串吗?而且它只是在 Chrome 中,在 Chrome 4 中没有发生,在 IE8/Firefox3.5 中也没有发生

【问题讨论】:

  • 在标准 JavaScript Date 对象上没有称为 format 的方法。你还有别的意思吗?
  • 嗯,我真的不知道,为什么它有时会起作用?我想要的是格式的日期:2010-05-28
  • 看看我的第二个编辑,看看如何获​​得你想要的。
  • 这是 ASP.NET AJAX 库。
  • 哦,谢谢你。那么关于为什么在 Chrome 中出现这种行为的任何线索?

标签: javascript date google-chrome


【解决方案1】:

Date object.中没有format函数

您是从插件中获得该功能的吗?
如果是这样,那么我建议您阅读 API 以寻找可能的参数。

我不知道这是否有帮助,但我尝试的所有插件都需要两个“y”来获取四位数的年份字符串。

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

编辑:其他一些插件使用大写的“Y”,例如d.format("Y-m-d");

EDIT2:您似乎只需将日期格式设置为“yyyy-MM-dd”。 您可以在代码中添加此原型函数:

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);
}

并像这样使用它:

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

Source的原型函数

【讨论】:

  • 我使用的唯一插件是 jQuery。我发誓 d.format("yyyy-MM-dd") 在以前的版本中确实有效
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 2021-05-14
  • 1970-01-01
  • 2012-09-08
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多