这是我的uebersetzer.service.js:
module.exports = function (app, Uebersetzer) {
app.post('/rest/uebersetzer', function (req, res) {
var uebersetzer = req.body;
console.log("before" + uebersetzer.zeit);
uebersetzer.zeit = timeToMinutes(uebersetzer.zeit);
console.log("after" + uebersetzer.zeit);
Uebersetzer.create(uebersetzer, function (err, result) {
res.json(result);
});
}
});
});
app.get("/rest/uebersetzer/:id", function (req, res) {
Uebersetzer.findById(req.params.id, function (err, uebersetzer) {
console.log("get uebersetzer by id before" + uebersetzer.zeit);
uebersetzer.zeit = minutesToDate(uebersetzer.zeit);
console.log("get uebersetzer by id " + uebersetzer.zeit);
res.send(uebersetzer);
});
});
function timeToMinutes(time) {
var hours = time.getHours * 60;
var minutes = time.getMinutes;
time = hours + minutes;
console.log(time);
return time;
}
function minutesToDate(minutes) {
var hours = Math.floor(minutes / 60);
var minute = minutes % 60;
var date = new Date(1, 1, 1970, hours, minute, 00);
console.log(date);
return date;
}
};
Uebersetzer.controller.js
(function () {
angular
.module("PassportApp")
.controller("UebersetzerController", UebersetzerController);
function UebersetzerController(UebersetzerService) {
var vm = this;
vm.addUebersetzer = addUebersetzer;
vm.removeUebersetzer = removeUebersetzer;
vm.selectUebersetzer = selectUebersetzer;
vm.updateUebersetzer = updateUebersetzer;
vm.uebersetzer = {};
function updateUebersetzer(uebersetzer) {
UebersetzerService.update(uebersetzer, function (response) {
findAllUebersetzers(setAllUebersetzer);
});
}
function selectUebersetzer(uebersetzerId) {
UebersetzerService.findUebersetzerById(uebersetzerId, function (response) {
vm.uebersetzer = response;
});
}
function removeUebersetzer(uebersetzerId) {
UebersetzerService.removeUebersetzer(uebersetzerId, function (response) {
findAllUebersetzers(setAllUebersetzers);
});
}
function addUebersetzer(newUebersetzer) {
UebersetzerService.createUebersetzer(newUebersetzer, function (response) {
findAllUebersetzers(setAllUebersetzers);
});
}
function findAllUebersetzers(callback) {
UebersetzerService.findAllUebersetzers(callback);
}
function setAllUebersetzers(uebersetzers) {
vm.uebersetzers = uebersetzers;
}
findAllUebersetzers(setAllUebersetzers);
}
})();
Uebersetzer.html
<h1>Uebersetzer</h1>
<table class="table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Sprache</th>
<th>Zeit</th>
</tr>
<tr>
<td><input ng-model="controller.uebersetzer.name" class="form-control" placeholder="Name" type="text"/></td>
<td><input ng-model="controller.uebersetzer.sprache" class="form-control" placeholder="Sprache" type="text"/>
<td><input ng-model="controller.uebersetzer.zeit" class="form-control" placeholder="Zeit" type="time"/>
<button ng-click="controller.addUebersetzer(controller.uebersetzer)" class="btn btn-primary">
<span class="glyphicon glyphicon-plus"></span>
</button>
<button ng-click="controller.updateUebersetzer(controller.uebersetzer)" class="btn btn-success">
<span class="glyphicon glyphicon-ok"></span>
</button>
</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="uebersetzer in controller.uebersetzers">
<td>{{uebersetzer.name}}</td>
<td>{{uebersetzer.sprache}}</td>
<td>{{uebersetzer.zeit|minDate|date:'HH:mm'}}</td>
<td>
<button ng-click="controller.removeUebersetzer(uebersetzer._id)" class="btn btn-danger">
<span class="glyphicon glyphicon-remove"></span>
</button>
<button ng-click="controller.selectUebersetzer(uebersetzer._id)" class="btn btn-info">
<span class="glyphicon glyphicon-pencil"></span>
</button>
</td>
</tr>
</table>
我有两个控制台命令的"app.post"。console.log显示我在约会之前("1970-01-01T00:11:00.000Z之前"),但转换后只显示NaN。我的角色是timeToMinutes()。
在"app.get"中,分钟数来自数据库,我将其更改为日期。我的两个给console.log"在100之前通过id获取uebersetzer"one_answers"通过id获取uebersetzer 1906年6月24日星期日01:40:00 GMT+0200(中欧夏令时间)",但它不在接受的html中的输入字段中,尽管其他数据是从数据库中的字段(名称和sprache)中写入的。我希望它不是太多代码或太少代码。我为我糟糕的英语道歉。
timeToMinutes函数内部存在错误。getHours
和getMinutes
是函数,因此需要使用()
调用这些函数。它应该是这样的:
function timeToMinutes(time) {
var hours = (new Date(time)).getHours() * 60;
var minutes = (new Date(time)).getMinutes() ;
time = hours + minutes;
console.log(time);
return time;
}