日期时间和选择框

Datetime and selectbox

我正在使用 angular-jquery-timepicker directive 以 AM/PM 格式填写带有小时数的选择框。

我从这样的 JSON 得到这个时间:

[
   {
      id: "34", day_of_week: "2", start_time: "8:00 AM",
      end_time: "12:00 PM", duration: 30
   },
   …
]

此处根据文档初始化指令选项:

for(var i = 0; i < httpData.data.length; i++)
{
httpData.data[i].start_time = moment(httpData.data[i].start_time, 'g:i A');
httpData.data[i].end_time = moment(httpData.data[i].end_time, 'g:i A');
httpData.data[i].options = {
   step: httpData.data[i].duration,
   timeFormat: 'g:i A',
   asMoment: true
};
}
$scope.settings = httpData.data;

并在里面进行 ng-repeat:

<input class="custom-input" ui-timepicker="setting.options" type="text" name="start" ng-model="setting.start_time" required />

<input class="custom-input" ui-timepicker="setting.options" type="text" name="end" ng-model="setting.end_time" required />

问题是循环中生成的start_time和end_time有00:00hs,所以在selectbox中选择了12:00AM。

有什么想法吗?

考虑使用:

moment(httpData.data[i].start_time, 'hh:mm A');

而不是

moment(httpData.data[i].start_time, 'g:i A');

您可以找到完整的代币列表here