【问题标题】:In JavaScript/AngularJS, I can't seem to remove the "T" in a date field from the DB?在 JavaScript/AngularJS 中,我似乎无法从数据库中删除日期字段中的“T”?
【发布时间】:2017-11-07 21:18:01
【问题描述】:

我一定遗漏了一些非常明显的东西,但我可以使用帮助。我有一个 Angular Web 应用程序,它从 MS Web API 获取数据。 DTO 对象有两个日期字段。当这些字段进入时,日期字段中有一个“T”。

例如2017-05-01T03:43:55

无论出于何种原因,我在使用日期时似乎无法摆脱那个该死的“T”。我尝试在显示日期数据的日历控件上使用日期格式,并使用 JavaScript format() 命令。我还尝试使用 Javascript replace() 命令将“T”替换为空格。我尝试使用 Moment.js 创建一个新日期(这似乎失败并给了我一个无效的日期)。

var startDate = moment(badge.startDate).format('yyyy-MM-dd HH:mm:ss');
var startDate = badge.startDate.format(''yyyy-MM-dd HH:mm:ss'');
var startDate = moment(badge.startDate).replace('T',' ');

我错过了什么?我应该怎么做?据我所知,这些中的任何一个都应该有效吗?

【问题讨论】:

  • 你试过moment(badge.startDate.replace('T',' '));
  • 你能指定错误吗?什么是无效日期?
  • Phix - 这和另一个小改动似乎奏效了。谢谢!

标签: javascript angularjs date


【解决方案1】:

您可以为此创建单独的过滤器,如下所示。

  return (input) ? $filter('date')("2017-05-01T03:43:55", "yyyy-MM-dd HH:mm:ss") : '';

您可以根据自己的要求更改日期。您可以在下面查看详细信息。

https://docs.angularjs.org/api/ng/filter/date

【讨论】:

    【解决方案2】:

    使用,不要构建已经存在的东西! 第一次访问moment js 这个组件非常有用,并且有很多选项可供您使用日期。

    var date = moment(yourDate).format('YYYY-MM-DD');
    

    格式有很多选择,可以在moment js文档中找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 2018-09-16
      • 2023-04-07
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多