2

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

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

要设置它,其中 date 是我的输入的 id,而 pv.When 是 datetime 对象

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

要检索它,现在什么都不做,当我加载表单时该字段为空,并且该值不保存。我需要做一些特别的事情来完成这项工作吗?

4

1 回答 1

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 上运行良好

于 2013-10-14T16:40:34.160 回答