将<input type =“time”/>格式化为12小时格式,无秒/毫秒

时间:2015-01-08 06:04:39

标签: angularjs html5 cordova ionic-framework

我正在尝试格式化一些时间进行显示。

  <input ng-change="changeTimeBehaviours()" ng-model="booking.time" type="time" >

如何将格式添加为h:mma格式? (例如下午2:30)

我用过

var _time = new Date().toLocaleTimeString(navigator.language,{hour:'2-digit', minute: '2-digit'});

并且它完成了这项工作,但我无法使用type ='time',因为它期望日期时间对象不是字符串。

我正在使用

{{booking.time | date:"h:mma"}}

在另一部分的模板中,它完美无缺。

〜修改

我正在使用离子服务来测试应用程序,它正在给我这个时间

11:59:18.046 PM

当我关闭退出服务并刷新页面时,chrome有时间标记我想要的确切标记,

晚上11:59

所以我得出结论,它与离子或cordova如何构建类型=“时间”有关

〜EDIT2

似乎是一个本地化问题,因为它在ios上也能正常工作。

1 个答案:

答案 0 :(得分:2)

您正在使用angularjs表达式

{{booking.time | date:"h:mma"}}
这将仅在UI端过滤您的数据。因此,更改控制器中的逻辑与此类似
var sdf = new SimpleDateFormat("HH:mm");
var _time = sdf.format(new Date());