转换Phonegap应用程序日期时间字段以在ios7上工作

时间:2013-10-14 14:17:32

标签: html5 jquery-mobile datetime cordova

所以我发现我在我的应用程序中使用的日期时间输入字段不再适用于IOS7,因此我发现仍然支持datetime-local输入类型。时区对我的应用程序的功能并不重要,所以这没关系。问题是,我用来填充和从输入字段中检索日期值的代码不起作用。这是我的代码:

$("#date").val(pv.When);

设置它,其中date是我输入的id和pv.When是日期时间对象

theVisit.When = new Date($("#date").val());

要检索它,现在既不做任何事情,当我加载表单时该字段为空,并且值不保存。我是否需要做一些特别的事情来使这项工作?

1 个答案:

答案 0 :(得分:0)

好的,我做的就是这个,我编写了2个实用程序函数,一个用于设置datetime-local字段的值,另一个用于将值作为日期获取。您将注意到我正在使用Moment.js日期助手库作为修复的一部分。

以下是我的两个功能:

    function getDateTimeForPicker(d) {
        var offset = d.getTimezoneOffset() / 60;
        d.setMinutes(d.getMinutes() - d.getTimezoneOffset())
        return d.toISOString().replace("Z", "");
    }
    function getDateTimeFromPicker(d) {
        var m = moment(d);
        var ret = m.toDate();
        return ret;
    }

所以我可以设置为:

$("#dateTimeBox").val(getDateTimeForPicker(new Date()));

这已在iOS7上测试并正常运行