为什么 Time.zone.parse('invalid')
不引起错误,而 Time.parse('invalid')
则不引起错误?
使用导轨4.2.7.1
示例>> Time.zone.parse('invalid')
nil
>> Time.parse('invalid')
ArgumentError: no time information in "invalid"
from D:/softwares/ruby/Ruby22/lib/ruby/2.2.0/time.rb:252:in `make_time'
from D:/softwares/ruby/Ruby22/lib/ruby/2.2.0/time.rb:364:in `parse'
两种方法都调用 Date._parse
,如果无法提取日期,则返回 {}
。
Time.zone.parse
在那里停止并返回,如果结果为空。 Time.parse
致电make_time
,如果无法生成日期,则会引发错误。