我有一个使用PhoneGap构建的相当大的 iPad 应用程序,我正在做一些测试,以确保一切都能在 iOS 中正常运行.7。最重要的问题我发现不再支持<input type="datetime"/>
。
我看过几篇帖子,建议您现在需要两个单独的日期和时间字段。这是一个非常巨大的变化,因为我在整个应用程序中使用它。我希望这只是 iOS 7测试版中的一些内容,因为它是 HTML 5标准输入类型,但我似乎无法找到任何信息
非常感谢任何帮助或想法。
答案 0 :(得分:16)
已删除对datetime
的支持,但您可以使用datetime-local
。从我所听到的(不能说是谁),它就在这里。
答案 1 :(得分:3)
看起来这个输入类型已在iOS 7中删除
http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review
在Google Chrome之后,现在iOS上的Safari不支持 日期时间输入类型,它将回退到文本。这个类型 在标准中被弃用,赞成使用两个输入,日期和 出于同样目的的时间。问题是datetime是兼容的 iOS版本从5.0到6.1;如果您正在使用它,请小心!
答案 2 :(得分:0)
我最终使用了datetime-local,但你必须确保在绑定到控件和从控件绑定时考虑时区。我们希望将GMT时间存储在数据库中。我使用以下函数在绑定期间来回转换。
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 "";
}
}
答案 3 :(得分:-4)
参见参考here
你的CSS应该改变如下:
{
align-items: center;
display: -webkit-inline-flex;
overflow: hidden;
padding: 0px;
-webkit-padding-start: 1px;
}