【问题标题】:Date parsing/converting with AngularJS使用 AngularJS 进行日期解析/转换
【发布时间】:2016-04-07 13:11:58
【问题描述】:

我正在处理一个个人项目,我需要使用 bootstrap-datepicker 将日期转换为 UTC 并将其发送到格式为 ISO8601 格式之一(“yyy-mm-dd”)的 API。

我在前端使用 Angular,在后端 API 使用 Rails。问题是由于应用程序将使用多个语言环境,从日期选择器发送到角度控制器的日期格式会有所不同,它可以是“dd/mm/yyyy”或“mm/dd/yyyy”。

如何进行适当的调整以独立于前端格式将日期发送到 API?

【问题讨论】:

  • 您的控制器是否知道格式是“dd/mm/yyyy”还是“mm/dd/yyyy”。
  • 我可以让控制器知道格式,但我不知道如何在 javascript 中使用日期字符串和格式创建 Date 对象。如果我能做到这一点,那么问题就迎刃而解了。
  • 您为什么不能使用getUTCDate 方法并相应地处理该日期?
  • 由于 getUTCDate 是一个前端组件方法,我宁愿避免使用它,因为它会在控制器层创建来自表示层的依赖关系。

标签: javascript ruby-on-rails angularjs date


【解决方案1】:

在这种情况下,答案很简单: 查看moment.js

您可以轻松解析不同格式的日期:

moment("12-25-1995", "yyy-mm-dd");
moment("12/25/1995", "mm/dd/yyyy");

Doc for parsing dates with moment

【讨论】:

  • 只需要在格式参数中使用大写字母即可。谢谢!
猜你喜欢
  • 2012-09-09
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多