我在格式化数据时遇到问题,因此angularjs会将数据填入“time”类型的输入字段。你能帮我弄清楚我错过了什么吗?
HTML:
<input type="time" id="exampleInput" name="input" ng-model="stuff.starttime"
placeholder="HH:mm:ss" min="00:00:00" max="17:00:00" >
控制器:
$scope.stuff = {
originlevel2: "",
destinationlevel2: "",
destination2: "",
origin2: "",
starttime: "",
endtime: ""
}
var starttime = jsonArray2[0]["starttime"];
$scope.stuff.starttime = new Date(starttime);
答案 0 :(得分:1)
由于jsonArray2[0]["starttime"]
的值为01:00:00
。
因此,new Date(jsonArray2[0]["starttime"])
是无效日期。
您可以改为:
var d=new Date();
starttime='01:00:00' // jsonArray2[0]["starttime"]
starttime=starttime.split(':').map((e)=>parseInt(e))
d.setHours(starttime[0]);
d.setMinutes(starttime[1]);
d.setSeconds(starttime[2]);
// Then
$scope.stuff.starttime= d;
之后,尝试使用Chrome或Safari。
注意:输入=&#34;时间&#34; Firefox或Internet Explorer 10不支持 和早期版本。
答案 1 :(得分:0)
$scope.stuff = {
starttime: new Date(); // initialize as a date instead of a string
}
基本上,您将变量初始化为字符串。当您尝试将该字符串格式化为日期时,它会导致它失败。如果您预计某个日期,请将其设置为新日期。