使用AngularJS datetimepicker,表单不提交正确的时间

时间:2015-10-23 11:21:49

标签: angularjs forms date bootstrap-datetimepicker

我在Angular / Node申请中使用https://github.com/zhaber/angular-js-bootstrap-datetimepicker

我渲染一个这样的表格(我不能只使用ajax,所以我需要以传统方式发布)

index.jade

form(action='/api/save' method='post' enctype='multipart/form-data')
    .form-group.m-top-15
        datetimepicker(min-date="minDate" minute-step="minuteStep" ng-model="activationDate" show-meridian="false" date-format="yyyy-MM-dd" show-spinners="true")
        input(type='hidden' name='activationDate' ng-value='activationDate')
        input(type='submit')

app.js

$scope.toggleMinDate = function() {
    $scope.minDate = $scope.minDate ? null : new Date();
};

$scope.toggleMinDate();

$scope.minuteStep = 15;

当我选择日期并在浏览器中呈现$scope.activationDate时,它会显示为"2015-10-23T06:15:00.000Z"

但是在请求有效负载中,它显示为Fri Oct 23 2015 00:00:00 GMT+0200 (Västeuropa, sommartid)(注意时间没有提交)

在我的MongoDB中,日期保存为ISODate("2015-10-22T22:00:00Z")

为什么时间不起作用?如果您需要查看更多代码,请告诉我们。感谢'!小号

2 个答案:

答案 0 :(得分:0)

您需要在显示日期时使用过滤器

{{activationDate| date:'MM/dd/yyyy HH:mm:ss'}}

答案 1 :(得分:0)

我能够使用不同的datetimepicker解决此问题

https://github.com/Gillardo/bootstrap-ui-datetime-picker

现在我可以成功发布日期和时间。