【问题标题】:AngularJS - Converting timestamp date format to javascript formatAngularJS - 将时间戳日期格式转换为 javascript 格式
【发布时间】:2016-08-15 18:48:08
【问题描述】:

我想在一个 Angular 项目的视图中显示一种人类友好的日期格式,我看到 Angular 有一个过滤器可以这样做,但输入日期需要具有某种格式。

要在视图中看到的所需输出格式如下:“dd/MMMM/yyyy hh:mm:ss”

目前,我在数据库中有以下时间戳格式:

“2016-08-15 12:34:34”

如何格式化这种类型的时间戳,以便 Angular 可以解释它并根据需要格式化它?

非常感谢!

【问题讨论】:

  • 要明确的是,所需的格式会为您呈现Monday/August/2016 06:00:00 之类的内容,您确定要这样吗?
  • 哦,我那天弄错了..让我编辑一下

标签: javascript angularjs date timestamp


【解决方案1】:

您可以将日期解析为 javascript 日期,然后使用 Angular 中的日期过滤器以您想要的格式显示它(如果您不能直接对数据库中的日期使用日期过滤器)。

您可以将其用作过滤器以使其更容易:

myApp.filter('formatted', function() {
  return function(value) {
    return new Date(value);
  }
});

在您的 html 中,您可以在日期过滤器之前添加此过滤器:

Filter: {{ vm.dateToFormat | formatted | date: 'dd/MMMM/yyyy hh:mm:ss' }}

【讨论】:

    【解决方案2】:

    如果 Angular 无法自行解析数据库中的字符串,您可以使用 JavaScript Date.parse("2016-08-15 12:34:34") 向您返回 Angular 可以正确解释的日期。

    【讨论】:

      【解决方案3】:

      你可以只使用内联过滤器:

      例子:

      <span>{{vm.Date | date: 'dd/MMMM/yyyy hh:mm:ss'}}</span>
      

      编辑:为了清楚起见,您发布的内容并未说明该时间戳是否为字符串,因此您可能必须相应地对其进行解析。我看到其他海报只是假设它是一个字符串。

      【讨论】:

        猜你喜欢
        • 2011-03-05
        • 2019-02-25
        • 1970-01-01
        • 2016-11-26
        • 2018-08-30
        • 2015-08-19
        • 2020-02-23
        • 1970-01-01
        相关资源
        最近更新 更多