开发者问题收集

如何在 React.js 组件中格式化日期

2014-12-19
2620

我在 React js 组件中有一个代码片段

 <time dateTime={ this.props.created_at } className="date">{ this.props.user + " • "+ this.props.created_at }</time>

结果输出结果类似于 luizkowalski • 2014-12-19T15:16:00.274Z 。我该如何格式化这个日期?可以通过 Rails 完成吗?

3个回答

您可以在 Ruby 中的 Time/DateTime 对象上使用 strftime 方法

http://www.ruby-doc.org/core-2.1.5/Time.html#method-i-strftime

tagCincy
2014-12-19

您应该在 JSON 响应中发送格式化的 created_at 。如果您正在阐明 JSON 响应(自己指定),这应该不是问题。否则,您需要覆盖模型中的 to_jsonas_json 方法来合并格式化的 created_at

例如:

def as_json
  super.merge('created_at' => self.created_at.strftime("%d %b %Y"))
end
SHS
2014-12-19

我找到了一个 strftime javascript 库,您可以使用 yarn add strftime 将其添加到您的项目中。我在使用 webpacker 访问该库时遇到了问题(我仍在学习和适应资产管道)您可以在此处找到我的问题(包括指向 strftime 的 github 链接:

Rails/Webpack:无法访问 JS 库

唯一的问题似乎是它不喜欢来自我的应用程序的格式,这是我必须解决的另一个问题。

aarona
2019-07-17