Ruby Date.strptime 解析时遇到困难 13/Nov/11
当解析包含日期(例如 13/Nov/11)的 Jira 自定义字段时,我是这样开始的:
elsif custom.customfieldId == "customfield_10282"
@agenda_item.planned_release_date = custom.values.to_s
但是数据库将其存储为 11/13/0011。所以我很聪明并使用了这个:
elsif custom.customfieldId == "customfield_10282"
@agenda_item.planned_release_date = Date.strptime(custom.values, "%d/%m/%Y")
现在我得到:
private method sub!'呼吁 ["15/Nov/11"]:Jira4R::V2::ArrayOf_xsd_string C:/Ruby187/lib/ruby/1.8/date/format.rb:429:in
_strptime_i' C:/Ruby187/lib/ruby/1.8/date/format.rb:401:in 扫描' C:/Ruby187/lib/ruby/1.8/date/format.rb:401:in
_strptime_i' C:/Ruby187/lib/ruby/1.8/date/format.rb:601:in `_strptime' [截断堆栈的其余部分]
我错过了什么?
When parsing a Jira Custom Field containing a date (e.g. 13/Nov/11) I started with this:
elsif custom.customfieldId == "customfield_10282"
@agenda_item.planned_release_date = custom.values.to_s
But the database stores it as 11/13/0011. So I got clever and used this:
elsif custom.customfieldId == "customfield_10282"
@agenda_item.planned_release_date = Date.strptime(custom.values, "%d/%m/%Y")
And now I get:
private method sub!' called for ["15/Nov/11"]:Jira4R::V2::ArrayOf_xsd_string
_strptime_i'
C:/Ruby187/lib/ruby/1.8/date/format.rb:429:in
C:/Ruby187/lib/ruby/1.8/date/format.rb:401:in scan'
_strptime_i'
C:/Ruby187/lib/ruby/1.8/date/format.rb:401:in
C:/Ruby187/lib/ruby/1.8/date/format.rb:601:in `_strptime'
[truncated the rest of the stack]
What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这有效:
您的问题:
`%Y
是 4 位数字的年份 (2011
)。使用%y
%m
表示月份的数字 (11
)。使用%b
代替(11 月
)This works:
Your problems:
`%Y
is the year with 4 digits (2011
). Use%y
%m
is the month in digits (11
). Use%b
instead (Nov
)如果我正确理解您的问题,请尝试使用此:
您有缩写的月份名称,您应该使用
b
格式指令。除此之外,由于您的年份仅包含最后两个数字,因此请使用 y 指令。If I properly understand your issue, try to use this:
You have abbreviated month name and there for you should use
b
format directive. Beside this because your year contains only two last numbers, usey
directive.