首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails --将军事时间解析为AM/PM,使用chronic?

rails --将军事时间解析为AM/PM,使用chronic?
EN

Stack Overflow用户
提问于 2010-07-01 07:38:06
回答 1查看 1.4K关注 0票数 0

我一直在使用Chronic,这是一个自然语言解析器,非常棒。我现在遇到的问题是我无法解析军事时间,它给我返回到某种形式的AM/PM时间,这对于用户来说是正常的。

代码语言:javascript
复制
 <%= Chronic.parse("next monday") %>

收益率=> Mon Jul 05 12:00:00 -0500 2010

有没有办法倒退,这样我就可以把"Mon Jul 05 12:00:00 -0500 2010“解析成”星期一7月5日早上5:00“,或者更好的是"5:00 AM"?

我知道很奇怪,但我想以前肯定有人处理过这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-01 09:27:00

Chronic没有返回字符串

代码语言:javascript
复制
Mon Jul 05 12:00:00 -0500 2010

相反,Chronic返回Time类的一个实例

由于erb <%= xxx %>需要一个字符串,因此将自动调用.to_s。所以到底发生了什么:

代码语言:javascript
复制
<%= Chronic.parse("next monday").to_s %>

听起来你想要一个不同的输出格式。使用方法strftime

代码语言:javascript
复制
<%= Chronic.parse("next monday").strftime("%I:%M %p") %>
  ==> 05:00 AM

or
<%= Chronic.parse("next monday").strftime("%A %B %I:%M %p") %>
  ==> Monday July 5 05:00 AM

(我将把它留给读者作为练习,以弄清楚如何将时间定在7月5日而不是7月5日或5:00 AM而不是05:00 AM或在SO上询问另一个Q)

添加:

另请注意,您需要了解时区。慢性解析使用本地时间和本地时区。(服务器本地。)这就是-0500的意思。你需要决定如何在你的应用中处理时区。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3154203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档