【问题标题】:AngularJS how to handle a Bootstrap datepicker date to send it out for a REST backendAngularJS 如何处理引导日期选择器日期以将其发送给 REST 后端
【发布时间】:2013-10-27 07:59:37
【问题描述】:
我有一个角带引导日期选择器
<input id="dp5" class="span8" type="text" ng-model="obj.date" data-date-format="mm/dd/yyyy" placeholder="Pick a Date" bs-datepicker>
后端是一个 Spring MVC REST 应用程序,它最初以毫秒为单位返回日期 (java.util.Date)。我从上述 datepicker 元素收到的日期格式如下
2013-10-01T06:00:00.000Z
如何将其转换为毫秒,以便可以正确地将其发送到后端?
【问题讨论】:
标签:
javascript
angularjs
twitter-bootstrap
date
【解决方案1】:
据我所知,您可以创建指令来处理它:
演示Plunker
app.directive('datetimez', function() {
return {
restrict: 'A',
require : 'ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
element.datetimepicker({
dateFormat:'dd/MM/yyyy hh:mm:ss',
language: 'pt-BR'
}).on('changeDate', function(e) {
var outputDate = new Date(e.date);
var n = outputDate.getTime();
ngModelCtrl.$setViewValue(n);
scope.$apply();
});
}
};
});
日期选择器的 HTML 包装器应该是这样的:
<div id="date" class="input-append" datetimez ng-model="var1">
所以在日期更改后var1 获得毫秒(参见演示)
希望这个方向会有所帮助
【解决方案2】:
你可以在字符串上调用Date.parse函数:
Date.parse("2013-10-01T06:00:00.000Z") // 1380607200000