2016-11-23 60 views
0

我正在使用Dalelotts Datetimepicker。dalelotts angular-bootstrap-datetimepicker在timepicker中显示24h格式

DateTimePicker

我在想,如果有设置,使得dateTimePicker的显示在24小时的timepicker比AM/PM时间的方式..

The current display of time in my datetimepicker

IE:09:00 & 21:00,而不是9:00 AM & 9:00 PM

下面是代码:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script> 
 
<script data-require="[email protected]*" data-semver="1.3.15" src="https://code.angularjs.org/1.3.15/angular.js"></script> 
 
<script type="text/javascript" src="Scripts/angular-bootstrap-datetimepicker/src/js/datetimepicker.js"></script> 
 
<script type="text/javascript" src="Scripts/angular-bootstrap-datetimepicker/src/js/datetimepicker.templates.js"></script> 
 

 
<link rel="stylesheet" href="Scripts/angular-bootstrap-datetimepicker/src/css/datetimepicker.css" /> 
 
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.css"> 
 

 

 

 
<div class="col-lg-12 col-md-6"> 
 
    <lable class="lfInputLable">From date</lable> 
 
    <div class="dropdown"> 
 
    <a class="dropdown-toggle" id="dropdown1" role="button" data-toggle="dropdown" data-target="#"> 
 
     <div class="input-group"> 
 
     <input type="text" class="form-control" data-ng-model="data.dateDropDownInput1" data-date-time-input="YYYY-MM-DD HH:mm"><span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span> 
 
     </div> 
 
    </a> 
 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> 
 
     <datetimepicker data-ng-model="data.dateDropDownInput1" data-datetimepicker-config="{ dropdownSelector: '#dropdown1' }" /> 
 
    </ul> 
 
    </div> 
 
</div>

+0

设置本地与moment.js或创建一个与自定义格式,https://github.com/dalelotts/angular-bootstrap-datetimepicker#小时分钟格式 –

+0

请给我一些例子或指向正确方向的指针,我不确定我完全理解你的评论。谢谢你回答btw :) – John

回答

-1

找到了!

在hourModelFactory函数内datetimepicker.js文件

我不得不改变:

'display': hourMoment.format('LT'), 

到:

'display': hourMoment.format('HH:mm'), 

其他的事情,现在是,previousViewDate按钮,显示所选择的时间和也作为一个按钮回到采集器 - 仍然显示上午/下午时间..

DateTimePicker

任何人有任何想法?

+0

有没有必要改变选择器中的代码。仔细查看文档,并注意您可以创建自定义格式,并将LT和“ll”格式定义为您需要的任何格式。请参阅http://momentjs.com/docs/#/i18n/ - 和https://github.com/dalelotts/angular-bootstrap-datetimepicker#hour-and-minute-formats –

+0

谢谢戴尔!我实际上正在摆弄着试图寻找另一种方式,正如你所说,我创建了服装格式来定义我想要的属性。像魅力一样工作!感谢您的精彩软件! – John

+0

谢谢!我很高兴你喜欢它! –

0
function minuteModelFactory (milliseconds) { 
    var selectedDate = moment.utc(milliseconds).startOf('hour') 
    var previousViewDate = moment.utc(selectedDate).startOf('day') 

    var minuteFormat = 'YYYY-MM-DD H:mm' 
    var activeFormat = formatValue(ngModelController.$modelValue, minuteFormat) 
    var currentFormat = moment().format(minuteFormat) 

    var result = { 
     'previousView': 'hour', 
     'currentView': 'minute', 
     'nextView': 'setTime', 
     'previousViewDate': new DateObject({ 
     utcDateValue: previousViewDate.valueOf(), 
     display: selectedDate.format('DD/MM/YYYY H:mm') 
     }), 
     'leftDate': new DateObject({utcDateValue: moment.utc(selectedDate).subtract(1, 'hours').valueOf()}), 
     'rightDate': new DateObject({utcDateValue: moment.utc(selectedDate).add(1, 'hours').valueOf()}), 
     'dates': [] 
    } 

    var limit = 60/configuration.minuteStep 

    for (var i = 0; i < limit; i += 1) { 
     var hourMoment = moment.utc(selectedDate).add(i * configuration.minuteStep, 'minute') 
     var dateValue = { 
     'active': hourMoment.format(minuteFormat) === activeFormat, 
     'current': hourMoment.format(minuteFormat) === currentFormat, 
     'display': hourMoment.format('HH:mm'), 
     'utcDateValue': hourMoment.valueOf() 
     } 

     result.dates.push(new DateObject(dateValue)) 
    } 

    return result 
    } 

显示:selectedDate.format( 'DD/MM/YYYY H:毫米')