【问题标题】: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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-29
        • 2015-07-23
        相关资源
        最近更新 更多