2017-03-08 3 views
0

私はブートストラップ3日付/時刻ピッカー(https://github.com/Eonasdan/bootstrap-datetimepicker)を使用していると私は問題を抱えている フォーマット日

<input type="text" id="fmEndDate" class="form-control input-sm" 
          datetimepicker 
          format="DD-MM-YYYY hh:mm" 
          ng-model="workRequest.EndDate" 
          placeholder="..." 
          name="fmEndDate" 
          required        
          ng-disabled="isDisabled"> 

日付をフォーマットする。しかし値がMM/DD/YYYYのHHとして表示されます。 MM AM

私は新しい年の前夜のタイムスタンプのため31-12-2017午前23時59分をしたいが

これが私のディレクティブです

"use strict"; 
angular.module("datetimepicker", []) 
.provider("datetimepicker", function() { 
    var defaultOptions = { }; 

this.setOptions = function (options) { 
    defaultOptions = options; 
}; 

this.$get = function() { 
    return { 
    getOptions: function() { 
     return defaultOptions; 
    } 
    }; 
}; 
}) 
.directive("datetimepicker", [ 
"$timeout", 
"datetimepicker", 
function ($timeout,datetimepicker) { 

    var defaultOptions = datetimepicker.getOptions(); 

    return { 
    require : "?ngModel", 
    restrict: "AE", 
    scope : { 
     datetimepickerOptions: "@" 
    }, 
    link : function ($scope, $element, $attrs, ngModelCtrl) { 
     var passedInOptions = $scope.$eval($attrs.datetimepickerOptions); 
     var options = jQuery.extend({}, defaultOptions, passedInOptions); 

     $element 
     .on("dp.change", function (e) { 
      if (ngModelCtrl) { 
      $timeout(function() { 
       ngModelCtrl.$setViewValue(e.target.value); 
      }); 
      } 
     }) 
     .datetimepicker(options); 

     function setPickerValue() { 
     var date = options.defaultDate || null; 

     if (ngModelCtrl && ngModelCtrl.$viewValue) { 
      date = ngModelCtrl.$viewValue; 
     } 

     $element 
      .data("DateTimePicker") 
      .date(date); 
     } 

     if (ngModelCtrl) { 
     ngModelCtrl.$render = function() { 
      setPickerValue(); 
     }; 
     } 

     setPickerValue(); 
    } 
    }; 
} 
]); 

アイデア?

<div class="container"> 
    <div class="row"> 
     <div class='col-sm-6'> 
      <div class="form-group"> 
       <div class='input-group date' id='datetimepicker3'> 
        <input type='text' class="form-control" /> 
        <span class="input-group-addon"> 
         <span class="glyphicon glyphicon-time"></span> 
        </span> 
       </div> 
      </div> 
     </div> 
     <script type="text/javascript"> 
      $(function() { 
       $('#datetimepicker3').datetimepicker({ 
        format: 'your desired Formatting style' 
       }); 
      }); 
     </script> 
    </div> 
</div> 

さらにシンプル:

$("#fmEndDate").datetimepicker({format: 'dd-mm-yyyy hh:ii'}); 

追記は:日付/時刻の書式設定には注意してください:bootstrap3 docsあなたはJavaScriptでカスタム書式を定義することができますに示すように

+0

は、形式= 'から、あなたのフォーマットを変更してみてください "DD-MM-YYYYのHH:MM"' 'フォーマットは= "DD-MM-YYYYのHH:MM" に'。詳細については、[docs](https://docs.angularjs.org/api/ng/filter/date)を参照してください。 – user3366016

+0

@Megajinは角度と[datetimepicker](http://momentjs.com/docs/#/displaying/format/)の両方のドキュメントによるものではありません。 'hh'は12時間の時計を表示します。 'HH'は24時間表示されます。 – user3366016

+0

申し訳ありませんが、偶然、私のコメントを削除しました。彼は、モーメントのフォーマットとは異なる動作をするBootstrap3 datetimepickerを使用していると言いました。この例をご覧ください:http://eonasdan.github.io/bootstrap-datetimepicker/ – Megajin

答えて

0

AngularJS HH形式では、00-23として時間が表示されます。 HHも使用しているBootstrap3では、時間は01-12となります。

私はあなたに面倒な仕事をしているMomentJSのようなライブラリを使用することを強くお勧めします。

よろしく、 Megajin

+0

ありがとうございます。私はmomentjsを見て、私は代わりにdatetimepickerをこのコントロールで置き換えると思うhttps://indrimuska.github.io/angular-moment-picker/ –