AngularJS输入时间字符串

时间:2015-11-14 08:21:39

标签: javascript angularjs express

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

{ "_id" : { "$oid" : "5646ea1f83abfba81202f4c2"} , "zeit" : "671" , "name" : "nnnn" , "sprache" : "nnnnnn" , "__v" : 0}

在这行代码中,我的号码将转换为日期

     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;
}

现在我的对象看起来像这样:

{__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"/>

但是我从angular得到了这个错误:

Error: [ngModel:datefmt] http://errors.angularjs.org/1.4.7/ngModel/datefmt?p0=1970-01-01T10%3A11%3A00.000Z
    at Error (native)

我想这是因为我的Date-Object是一个字符串。可能是问题吗?我该如何解决?

2 个答案:

答案 0 :(得分:0)

你可以用 Date format

另外 Time format

关于绑定到模板,请使用此示例中的

Angular time template

答案 1 :(得分:0)

是的确,如果您按照错误消息中的链接,您会看到预期日期。 您必须处理字符串表示形式和日期格式之间的转换。我建议使用moment.js(http://momentjs.com