Javascript AngularJS输入时间字符串

Javascript AngularJS输入时间字符串,javascript,angularjs,express,Javascript,Angularjs,Express,我的数据库对象如下所示: { "_id" : { "$oid" : "5646ea1f83abfba81202f4c2"} , "zeit" : "671" , "name" : "nnnn" , "sprache" : "nnnnnn" , "__v" : 0} {__v: 0,_id: "5646ea1f83abfba81202f4c2",name: "nnnn",sprache: "nnnnnn", zeit: "1970-01-01T10:11:00.000Z"} 在这行代码中,我的

我的数据库对象如下所示:

{ "_id" : { "$oid" : "5646ea1f83abfba81202f4c2"} , "zeit" : "671" , "name" : "nnnn" , "sprache" : "nnnnnn" , "__v" : 0}
{__v: 0,_id: "5646ea1f83abfba81202f4c2",name: "nnnn",sprache: "nnnnnn", zeit: "1970-01-01T10:11:00.000Z"}
在这行代码中,我的号码将转换为日期

     app.get("/rest/data/:id", function (req, res) {
            Person.findById(req.params.id, function (err, person) {
            person.zeit = minutesToDate(person.zeit);
            res.send(person);
        });
    });
});

 function minutesToDate(minutes) {
    var hours = Math.floor(minutes / 60);
    var minute = minutes % 60;
    var date = (new Date(1970, 0, 1, hours, minute, 0));
    console.log(date);
    return date;
}
现在,我的对象如下所示:

{ "_id" : { "$oid" : "5646ea1f83abfba81202f4c2"} , "zeit" : "671" , "name" : "nnnn" , "sprache" : "nnnnnn" , "__v" : 0}
{__v: 0,_id: "5646ea1f83abfba81202f4c2",name: "nnnn",sprache: "nnnnnn", zeit: "1970-01-01T10:11:00.000Z"}
我想把它放在这个输入中:

<input ng-model="controller.person.zeit" class="form-control" type="time"/>
我想这是因为我的日期对象是字符串。这可能是问题所在吗?如何修复它?

您可以使用

关于绑定到模板,请从本例中使用它


确实如此,如果您按照错误消息中的链接进行操作,您会看到预期的日期。
您必须处理字符串表示形式和日期格式之间的转换。我建议使用moment.js()

我看不出您在哪里定义了controller.person.zeit。如果它来自数据库,则需要在将其转换为ISO后再次将其解析为某个日期。它在我的“$routeProvider.when(“/person”,{templateUrl:“person/person.view.html”,controller:“PersonController作为控制器”}中定义)'zeit作为字符串存储在MongoDB中不是问题吗?好的,我添加了这行代码
person.zeit=矩(person.zeit.format()
但是错误仍然存在。
矩.isDate(person.zeit)
是真的,但是angularjs仍然抛出相同的错误。你确定吗?矩().format()始终提供字符串表示形式,而不是日期。然后矩.isDate(obj)检查obj是否是本机日期对象。
矩.isDate(person.zeit)
为false。你是对的,那是我的错。如果我将zeit作为日期存储在数据库中,“ngModel datefmt”-错误仍然存在。如何将zeit放入我的
中并将其存储为一个数字?