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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |