我最终使用了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 "";
}
}
在此基础上http://iosdeveloperforums.com/f6/ios-7-safari-dont- support-date-time-input-433.html不再支持。我也在处理这个问题,目前我能想到的唯一选择是分离这些领域,尽管这将是一个巨大的变化。 – jongbanaag
嗨, iphoner