From: tadf@...
Date: 2014-05-03T06:45:32+00:00
Subject: [ruby-core:62314] [ruby-trunk - Bug #9794] DateTime.strptime() doesn't work correctly for '%s %z'

Issue #9794 has been updated by tadayoshi funaba.


������������������������������������������������������������������������ Felipe Contreras ���������������������������������������������������������������������������������

���������������������������������������������������strcut tm ��� %s ��� %z ������������������������������������������������������������������
C ���������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������C ������������������������������������������ (���������������������) ������������������������������������
���������������������������������������������������������������������������������������������������������strptime ���������������������������������������������������������
���������������������mktime (������������������) ��� gmtime (���������) ���������������������������������������������������������������
������������%z ������������������������������������������������������ %s ���������������������������������
��������� %s ������������������������������������������������
���������������������������������������������������������������������������������������������������������������������������
��������� https://bugs.ruby-lang.org/issues/7445#note-12 ������������������������

������������ %s ������������������������ (������������������������������������������������������������������������������)���
������������������������ruby ��� Time ��� DateTime ������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������
������������������������ (���������������������������������������������������������)���
���������������������������������������������������������������������������������������������������������������������������������������������

������ strptime ������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������ strptime ������������������������������������������������������
_strptime ��� lib/time.rb ���������������������������������������������������������
strptime ��������������� _strptime ���������������������������������������������������
���������������������������������������������������

'%s %z' ���������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������


----------------------------------------
Bug #9794: DateTime.strptime() doesn't work correctly for '%s %z'
https://bugs.ruby-lang.org/issues/9794#change-46471

* Author: Felipe Contreras
* Status: Feedback
* Priority: Low
* Assignee: tadayoshi funaba
* Category: ext
* Target version: 
* ruby -v: 2.1.1p76
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Time.strptime() works correctly:

    Time.strptime('0 +0100', '%s %z').strftime('%s %z')
    => "0 +0100"

But DateTime.strptime() doesn't:

    DateTime.strptime('0 +0100', '%s %z').strftime('%s %z')
    => "0 +0000"

In Rubinious it does work correctly:

    DateTime.strptime('0 +0100', '%s %z').strftime('%s %z')
    => "0 +0100"

This make the RubySL date space fail:

    DateTime#strptime parses seconds and timezone correctly FAILED
    Expected "1970-01-01T00:00:00+00:00"
     to equal "1970-01-01T01:00:00+01:00"

In addition, both C and perl preserver the offset correctly when doing '%s %z'.

So it's very clear DateTime.strptime() has to be fixed.

Patch attached.

---Files--------------------------------
0001-datetime-fix-strptime-s-z.patch (1.94 KB)


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