【问题标题】:convert 24 hour time to am/pm using angularjs filter使用 angularjs 过滤器将 24 小时时间转换为上午/下午
【发布时间】:2016-03-28 06:45:18
【问题描述】:

我有一个价值

$scope.time = 13:30:00 (in 24 hour format)

现在我想使用 angularjs 过滤器将这个值更改为 am/pm 格式

<th class="text-center">{{time | any filter}}</th>

输出:下午 1:30

是否有任何内置过滤器或者我必须创建自定义过滤器?
如何使用“日期”过滤器来解决此问题? p>

【问题讨论】:

  • @Makoto 你是完全正确的。事情,过一段时间,这个答案将在谷歌中排名第一
  • @asdf_enel_hak:我们可能应该阻止这种情况。我完全赞成让 Stack Overflow 的答案真正取代文档,但 this 的答案将仅来自文档。没有理由回应现有信息。跨度>
  • @Makoto 这个问题的原因:1)我太懒了 2)我的英语很差 3)我不喜欢文档 4)我是一个初学者,我无法弄清楚文档
  • 我对启用你的懒惰不感兴趣。我可以理解文档不是最令人愉快的阅读,但仅仅因为您不不想阅读它并不意味着您应该在这里提出问题并期待任何其他其他 i> 而不是对文档的引用。

标签: angularjs angularjs-filter


【解决方案1】:
{{time | date:"h:mma"}}

Here 是格式。

【讨论】:

  • 如果我将值更改为像 2016-03-28T13:30:00 这样的正确格式,那么它只会起作用.. 谢谢好友@Charlie H
  • 嘿,查理,上面的格式在 angularJS 中不起作用,我只想显示像晚上 7:30 这样的时间,你知道只有时间的自定义过滤器吗?
【解决方案2】:

试试 $scope.time = 2016-03-28T13:30:00
而不是 $scope.time = 13:30:00

【讨论】:

  • 因此,如果没有正确的“日期”格式,它将无法工作。谢谢@Pavel。
【解决方案3】:

html使用

{{d.date | timeDate}}

js 过滤器

app.filter('timeDate', function() {
    return function(value){
        value = new Date(value);
        return (value.getHours()>=13?(value.getHours()-12):(value.getHours())) + ":" + (value.getMinutes()<10?'0':'') + value.getMinutes() + (value.getHours()>11?'pm':'am');
    }
});

这将转换 “2018 年 11 月 16 日星期五 12:35:42 MST” 至 “中午 12 点 35 分”

【讨论】:

    猜你喜欢
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2020-06-30
    • 2015-06-02
    • 1970-01-01
    • 2014-06-21
    相关资源
    最近更新 更多