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

时间:2011-11-09 08:43:25

标签: javascript jquery

当我尝试在

中显示日期格式时,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

1 个答案:

答案 0 :(得分:1)

我使用date format pluginfiddle here创建了示例代码的快速演示,它似乎在Safari中正常运行。

要尝试的事情:

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

如果没有,请提供有关Safari为您提供的错误的更多信息。

<强>更新

正如您现在所说的那样,您将字符串传递给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/