我在反应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完成吗?
答案 0 :(得分:2)
您可以在Ruby中的Time / DateTime对象上使用strftime
方法
http://www.ruby-doc.org/core-2.1.5/Time.html#method-i-strftime
答案 1 :(得分:1)
您应该在JSON响应中发送格式化的created_at
。如果您正在阐明JSON响应(自己指定),这应该不是问题。否则,您需要覆盖模型中的to_json
或as_json
方法,以合并格式化的created_at
例如:
def as_json
super.merge('created_at' => self.created_at.strftime("%d %b %Y"))
end
答案 2 :(得分:0)
我找到了一个strftime
JavaScript库,您可以使用yarn add strftime
将其添加到项目中。我在使用webpacker
访问库时遇到了一个问题(我仍在学习并从资产管道中进行调整),您可以在这里找到我的问题(包括指向strftime
的github链接的链接:< / p>
Rails/Webpack: Can't access a JS library
唯一的问题似乎是它不喜欢应用程序中的格式,这是我必须解决的其他问题。