将 <input type="time"> 格式化为 12 小时格式,不带 seconds/milliseconds
formatting <input type="time"> to 12 hour format with no seconds/milliseconds
我试图格式化一些时间来显示。
<input ng-change="changeTimeBehaviours()" ng-model="booking.time" type="time" >
如何将格式添加到 h:mma 格式? (例如2:30PM)
我用过
var _time = new Date().toLocaleTimeString(navigator.language,{hour:'2-digit', minute: '2-digit'});
它完成了工作,但我不能将它与 type='time' 一起使用,因为它需要日期时间对象而不是字符串。
我正在使用
{{booking.time | date:"h:mma"}}
在另一个部分的模板中,效果很好。
~编辑
我正在使用 ionic serve 来测试应用程序,它给了我这个时间
11:59:18.046 下午
当我关闭退出服务并刷新页面时,chrome 的时间标记正是我想要的,
下午 11:59
所以我得出的结论是它与 ionic 或 cordova 如何构建类型有关="time"
~编辑2
似乎是一个本地化问题,因为它在 ios 上也能正常工作。
您正在使用 angularjs 表达式
{{booking.time | date:"h:mma"}}
这将仅在 UI 端过滤您的数据。所以改变你的控制器中的逻辑类似于
var sdf = new SimpleDateFormat("HH:mm");
var _time = sdf.format(new Date());
我试图格式化一些时间来显示。
<input ng-change="changeTimeBehaviours()" ng-model="booking.time" type="time" >
如何将格式添加到 h:mma 格式? (例如2:30PM)
我用过
var _time = new Date().toLocaleTimeString(navigator.language,{hour:'2-digit', minute: '2-digit'});
它完成了工作,但我不能将它与 type='time' 一起使用,因为它需要日期时间对象而不是字符串。
我正在使用
{{booking.time | date:"h:mma"}}
在另一个部分的模板中,效果很好。
~编辑
我正在使用 ionic serve 来测试应用程序,它给了我这个时间
11:59:18.046 下午
当我关闭退出服务并刷新页面时,chrome 的时间标记正是我想要的,
下午 11:59
所以我得出的结论是它与 ionic 或 cordova 如何构建类型有关="time"
~编辑2
似乎是一个本地化问题,因为它在 ios 上也能正常工作。
您正在使用 angularjs 表达式
{{booking.time | date:"h:mma"}}
var sdf = new SimpleDateFormat("HH:mm");
var _time = sdf.format(new Date());