加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 我在DateTime.strptime做错了什么?

发布时间:2020-12-16 20:29:12 所属栏目:百科 来源:网络整理
导读:我的ruby程序说我的日期是无效的,当我这样做: format = "%D/%M/%Y %H:%M:%S:3N"date = "21/03/2011 16:39:11.642"DateTime.strptime(time,format) 我也试过这个: format = "%D/%M/%Y %H:%M:%S:3" 我得到的是这样的: ArgumentError: invalid date from /us
我的ruby程序说我的日期是无效的,当我这样做:
format = "%D/%M/%Y %H:%M:%S:3N"
date = "21/03/2011 16:39:11.642"

DateTime.strptime(time,format)

我也试过这个:

format = "%D/%M/%Y %H:%M:%S:3"

我得到的是这样的:

ArgumentError: invalid date    
        from /usr/local/lib/ruby/1.9.1/date.rb:1688:in `new_by_frags'    
        from /usr/local/lib/ruby/1.9.1/date.rb:1713:in `strptime'
        from (irb):12  
        from /usr/local/bin/irb:12:in `<main>'

解决方法

看起来你正在得到strptime的格式指令混淆.注意%M格式为格式两次,一次代表月份和下一次代表分钟?

%D表示日期为%m /%d /%y.

%d表示当月的日子[01,31]

%M表示分钟[00,59]

%m表示月份数[01,12]

这应该工作:

format = "%d/%m/%Y %H:%M:%S"
date_time = "21/03/2011 16:39:11.642"

puts DateTime.strptime(date_time,format) #=> 2011-03-21T16:39:11+00:00

这是一个strptime reference

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读