在safari中日期无效? 如何使用jquery以dd / mm / yyyy格式显示

当我尝试显示日期格式时,Safari浏览器会出现语法错误

日/月/年

格式。 有没有解决方法如何使用jquery显示它们? 提前致谢

function parseDate(input) { var d= new Date(input); return d.format("dd-mm-yyyy");//"dd/mm/yyyy" }//works on chrome not in safari 

我已经使用日期格式插件创建了一个示例代码的快速演示,在这里小提琴它似乎在Safari中正常工作。

要尝试的事情:

  • 检查传入input的日期格式是否为有效的日期对象
  • 确保javascript插件正确包含在您的页面中,并且Safari不会缓存旧版本。

如果不这样做,请提供有关Safari为您提供的错误的更多信息。

UPDATE

正如您现在所说的那样将字符串传递给Date()对象,我可以看到问题所在。 Safari对它接受的内容非常严格,因此您需要首先解析字符串,以形成有效的Date对象。 试试以下内容:

 //var d = new Date("2011-11-02"); // This will work for the vast majority of browsers - but not safari function parseDate(input) { var parts = input.match(/(\d+)/g); return new Date(parts[0], parts[1]-1, parts[2]); } var d = parseDate("2011-11-02"); alert(d.format("dd-mm-yyyy")); 

你可以在这个小提琴中测试它: http : //jsfiddle.net/Ly4vb/1/