6

我有一个使用 PhoneGap 构建的相当大的iPad应用程序,我正在做一些测试以确保一切在iOS 7 中都能正常工作。我发现的最重要的问题<input type="datetime"/>是不再支持它。

我看过一些帖子,建议您现在需要有两个单独的日期和时间字段。这是一个非常巨大的变化,因为我在整个应用程序中都使用了它。我希望这只是iOS 7 测试版中的一些问题,因为它是HTML 5 标准输入类型,但我似乎找不到任何信息。

任何帮助或想法将不胜感激。

4

4 回答 4

16

datetime已删除对的支持,但您可以datetime-local改用。从我听到的(不能说从谁那里)来看,它会一直存在。

于 2013-09-20T17:56:23.050 回答
3

看起来这个输入类型在 iOS 7 中被移除了

http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review

继 Google Chrome 之后,现在 iOS 上的 Safari 不再支持 datetime 输入类型,它将回退到文本。这种类型在标准中已被弃用,有利于使用两个输入,日期和时间用于相同目的。问题是 datetime 与 iOS 5.0 到 6.1 版本兼容;如果您正在使用它,请小心!

于 2013-09-24T05:34:02.960 回答
0

I ended up using the datetime-local but you have to make sure you take into account the timezone when binding to and from the control. We want to store GMT time in the database. I used the below functions to convert back and forth during binding.

function formatHTML5DateTime(date)
{
try
{
    if (typeof(date) == 'undefined' || date == null || date == '') return "";

    var tmpDate = new Date(date);
    // gets the timezone offset in minutes
    var offset = tmpDate.getTimezoneOffset();
    // apply the timezone offset in reverse to local time
    var newDate = tmpDate.addMinutes(Math.abs(offset) * -1);

    return newDate.toISOString().replace("Z", "");
}
catch(e)
{
    return "";
}
}

function formatJSDate(date)
{
try
{
    if (typeof(date) == 'undefined' || date == null || date == '') return "";

    var tmpDate = new Date(date);
    // gets the timezone offset in minutes
    var offset = tmpDate.getTimezoneOffset();
    // apply the timezone offset to UTC time
    var newDate = tmpDate.addMinutes(offset);

    return newDate.toISOString();
}
catch(e)
{
    return "";
}
}
于 2013-09-25T12:23:08.310 回答
-4

请参阅此处的参考

您的 CSS 应更改如下:

{ 
align-items: center;
display: -webkit-inline-flex; 
overflow: hidden; 
padding: 0px; 
-webkit-padding-start: 1px; 
}
于 2014-01-14T01:52:42.467 回答