[#46930] [ruby-trunk - Bug #6825][Open] forking and pthread_cond_timedwait: Invalid argument (EINVAL) on OS X / 1.9.3-p194 — "xentronium (Mark A)" <markizko@...>

29 messages 2012/08/02

[#46974] [ruby-trunk - Bug #6830][Assigned] test failure test_constants(OpenSSL::TestConfig) [/ruby/test/openssl/test_config.rb:27] on Mac + homebrew — "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>

17 messages 2012/08/04

[#46975] [ruby-trunk - Bug #6831][Assigned] test_getpwuid() on Mountain Lion — "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>

12 messages 2012/08/04

[#46996] [ruby-trunk - Bug #6836][Assigned] Improve File.expand_path performance in Windows — "luislavena (Luis Lavena)" <luislavena@...>

15 messages 2012/08/04

[#47036] [ruby-trunk - Feature #6841][Open] Shorthand for Assigning Return Value of Method to Self — "wardrop (Tom Wardrop)" <tom@...>

18 messages 2012/08/07

[#47108] [ruby-trunk - Feature #6852][Open] [].transpose should behave specially — "boris_stitnicky (Boris Stitnicky)" <boris@...>

13 messages 2012/08/10

[#47138] [ruby-trunk - Bug #6861][Open] ERB::Util.escape_html is not escaping single quotes — "spastorino (Santiago Pastorino)" <santiago@...>

14 messages 2012/08/12

[#47163] [ruby-trunk - Bug #6865][Open] GC::Profiler.report might create a huge String and invoke a few GC cycles — "Eregon (Benoit Daloze)" <redmine@...>

9 messages 2012/08/13

[#47189] [ruby-trunk - Feature #6868][Open] Make `do` in block syntax optional when the block is the last argument of a method and is not an optional argument — "alexeymuranov (Alexey Muranov)" <redmine@...>

8 messages 2012/08/14

[#47243] [ruby-trunk - Feature #6895][Open] TracePoint API — "ko1 (Koichi Sasada)" <redmine@...>

27 messages 2012/08/20

[#47267] [ruby-trunk - Bug #6903][Open] [[Ruby 1.9:]] --enable-load-relative broken on systems with /lib64 — "mpapis (Michal Papis)" <mpapis@...>

11 messages 2012/08/22

[#47309] [ruby-trunk - Bug #6929][Open] Documentation for Ripper — "zzak (Zachary Scott)" <zachary@...>

16 messages 2012/08/25

[#47345] [ruby-trunk - Feature #6946][Open] FIPS support? — "vo.x (Vit Ondruch)" <v.ondruch@...>

35 messages 2012/08/28

[ruby-core:47273] [ruby-trunk - Bug #6885][Closed] Unexpected behaviour of DateTime.parse (this issue can be reproduced in Ruby 1.8/1.9 as well) 英語で書いてるけど日本語も分かります。

From: "tadf (tadayoshi funaba)" <redmine@...>
Date: 2012-08-22 10:43:22 UTC
List: ruby-core #47273
Issue #6885 has been updated by tadf (tadayoshi funaba).

Status changed from Assigned to Closed


----------------------------------------
Bug #6885: Unexpected behaviour of DateTime.parse (this issue can be reproduced in Ruby 1.8/1.9 as well) 英語で書いてるけど日本語も分かります。
https://bugs.ruby-lang.org/issues/6885#change-28974

Author: markburns (Mark Burns)
Status: Closed
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: 
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-08-16) [x86_64-darwin11.4.0] 


I have written an mspec on the rubyspec project to demonstrate the existing behaviour:
https://github.com/markburns/rubyspec/commit/2ef354d4bdb41688ff84b65402faeb7b4e9a3844#L0R73e

d = DateTime.parse("2012-11-08T15:43:61")
# expected ArgumentError but the following is true
d == DateTime.civil(2012, 11, 8, 15, 43, 59)

This raises an ArgumentError with values for hours greater than 23
DateTime.parse("2012-12-31T24:43:59")

I think the principle of least surprise would be to raise an ArgumentError if
the value for seconds is over 59, consistent with the months, days, hours, and
minutes.

Technically it should allow values of 60 according to ISO8601.
http://en.wikipedia.org/wiki/ISO_8601
But in order not to complicate things more with leap seconds, it may
be better to tackle the issue just considering seconds over 59.



Steps to reproduce
==================

#Ruby version
ruby -v
ruby 2.0.0dev (2012-08-16) [x86_64-darwin11.4.0]

2.0.0dev :001 > require 'date'
 => true 
2.0.0dev :002 > DateTime.parse("2012-12-31T24:43:59") #expected ArgumentError when hours > 23
ArgumentError: invalid date
  from (irb):2:in `parse'
  from (irb):2
  from /Users/markburns/.rvm/rubies/ruby-head/bin/irb:16:in `<main>'
2.0.0dev :003 > DateTime.parse '2012-12-12T14:59:61' #unexpected
 => #<DateTime: 2012-12-12T14:59:59+00:00 ((2456274j,53999s,0n),+0s,2299161j)> 




-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next