转换日期为分钟,分在角/ EX preSS日期 [英] Convert Date to Minute and Minute to Date in Angular/Express
问题描述
这是我的uebersetzer.service.js:
This is my 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
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
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()。
I have "app.post" with two Console commands. The console.log shows me before my date ("before 1970-01-01T00: 11: 00.000Z"), but after conversion it just shows NaN. My role for this is timeToMinutes ().
在从数据库中来app.get的分钟,我把它变成一个日期。我的两个给予的console.log获得通过uebersetzer ID为100之前和通过id来获取uebersetzer太阳1906年6月24日1点40分〇〇秒GMT + 0200(欧洲中部夏令时间),但它不是在输入字段中HTML接受,但其他数据是从田野数据库(名称和SPRACHE)。我希望写它没有太多code或过少。我为我的英语不好道歉。
In "app.get" the minutes come from the database, and I change it into a date. My two give console.log "get uebersetzer by id before 100" and "get uebersetzer by id Sun June 24 1906 01:40:00 GMT + 0200 (Central European Summer Time)", but it is not in the input-field in html accepted, although the other data is written from the database in the fields (name and sprache).I hope it's not too much code or too little. I apologize for my bad english.
推荐答案
有你timeToMinutes函数中的错误。 调用getHours
和 getMinutes
是函数,所以你需要调用的函数与()
。它应该是这样的:
There is a mistake inside your timeToMinutes function. getHours
and getMinutes
are functions so you will need to call the functions with ()
. It should look like this:
function timeToMinutes(time) {
var hours = (new Date(time)).getHours() * 60;
var minutes = (new Date(time)).getMinutes() ;
time = hours + minutes;
console.log(time);
return time;
}
这篇关于转换日期为分钟,分在角/ EX preSS日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!