akr
6445aab472
* time.c (TIME_COPY_GMT): copy vtm.utc_offset and vtm.zone too.
...
patch by Tomoyuki Chikanaga.
[ruby-dev:44827] [Bug #5586 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-19 10:47:03 +00:00
naruse
23b2808693
* strftime.c (rb_strftime_with_timespec): get enc argument to specify
...
the encoding of the format. On Windows (at least Japanese Windows),
Time#strftime("%Z") includes non ASCII in locale encoding (CP932).
So convert locale to default internal. [ruby-core:39092] [Bug #5226 ]
* strftime.c (rb_strftime): ditto.
* strftime.c (rb_strftime_timespec): ditto.
* internal.h (rb_strftime_timespec): follow above.
* time.c (rb_strftime_alloc): ditto.
* time.c (strftimev): ditto.
* time.c (time_strftime): ditto.
* time.c (time_to_s): the resulted string of Time#to_s is always
ascii only, so this should be US-ASCII.
* time.c (time_asctime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-27 09:18:18 +00:00
tenderlove
4544b3824c
* time.c (strftimev): Make Time#to_s default to US-ASCII encoding but
...
respect Encoding.default_internal. [ruby-core:39092]
* test/ruby/test_time.rb (class TestTime): Corresponding test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-25 23:24:33 +00:00
kosaki
f2f14f572d
* time.c (rb_strftime_alloc): raise ERANGE if width is too large.
...
Patch by Nobuyoshi Nakada. [Bug #4457 ] [ruby-dev:43285]
* test/ruby/test_time.rb (class TestTime): add a test for the
above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-07 14:38:17 +00:00
nobu
e2fd80b3d3
* error.c (rb_check_trusted): new function to check an object is
...
trusted.
* struct.c (rb_struct_modify), time.c (time_modify): check by the
above function to show proper class names. [Bug #5036 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-17 07:26:45 +00:00
kosaki
6270ce85ed
* time.c (time_dup): used rb_obj_class() instead of CLASS_OF().
...
The patch is made by Kazuki Tsujimoto. [Bug #5012 ] [ruby-dev:44071]
* test/ruby/test_time.rb (TestTime#test_getlocal_dont_share_eigenclass):
added a new test for eigenclass of time object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-15 16:06:53 +00:00
nobu
3a47cf3395
* remove trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
akr
2418e5ca83
* strftime.c (rb_strftime_with_timespec): %G produces 4 digits.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-30 07:10:55 +00:00
naruse
3d38ba877e
* vsnprintf.c (BSD__uqtoa): Fix overflow when long != quad_t.
...
patched by Peter Weldon <peter.weldon AT null.net>
[ruby-core:33985]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-30 18:53:41 +00:00
nobu
2451d735a7
* time.c (leap_year_v_p): fixed typo. [ruby-dev:42631]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-27 09:08:29 +00:00
naruse
33356ff75b
* time.c (time_zone): use rb_locale_str_new_cstr to set encoding
...
as locale and convert its content to internal encoding.
[ruby-core:33278]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 05:25:15 +00:00
akr
2e507f34e0
add tests.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-06 14:37:16 +00:00
akr
c97f5f514a
* time.c (rb_big_abs_find_minbit): fix handling the last word.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-31 19:56:04 +00:00
akr
fbc42054e8
* time.c: less bignum allocations.
...
* strftime.c (rb_strftime_timespec): defined to avoid rational for
nano second resolution time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-31 12:34:31 +00:00
akr
f0aa9838a2
* time.c: fix previos commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-27 17:14:13 +00:00
akr
7c269e72ef
* time.c (time_round): new method Time#round. [ruby-dev:40595]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-11 13:39:12 +00:00
akr
795b03c71c
* time.c (time_add): propagate fixed time offset.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-15 13:21:10 +00:00
nobu
b3085ba508
* time.c (time_mdump, time_mload): dump/load utc_offset.
...
[ruby-dev:40063]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-03 15:37:45 +00:00
akr
1d674dc547
* time.c (time_mload): add submicro into vtm.subsecx. [ruby-dev:40133]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-22 12:08:02 +00:00
akr
4bf4ddb693
* time.c (time_to_r): convert to rational if internal representation
...
is not rational.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-13 23:51:16 +00:00
akr
d5a96ece85
* time.c (time_mdump): use nano_num and nano_den instead of subnano to
...
avoid Rational class in marshaled data which prevent unmarshal by
Ruby 1.8.
(time_mload): use nano_num and nano_den.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-13 19:04:17 +00:00
akr
cbfdacdd36
add tests.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-25 12:38:16 +00:00
akr
8d7677b498
add a test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-22 14:02:13 +00:00
akr
6897fddd65
don't use a string for Time.at argument.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-02 11:04:11 +00:00
akr
87d95fdbc8
add test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-12 18:00:25 +00:00
akr
16dc9e04cb
* time.c (time_arg): use the year argument as-is. [ruby-dev:38194]
...
* lib/time.rb (Time.parse): interpret small year 0..99 as 1950..2049.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-21 16:43:15 +00:00
akr
3bc16f62c1
* time.c: remove time_t restriction from Time class.
...
* timev.h: new file to define struct vtm.
* strftime.c: format struct vtm instead of struct tm.
* ext/syck/rubyext.c (mktime_do): don't use time_t;
[ruby-dev:38191]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-04-21 14:56:59 +00:00
akr
29983664fc
* time.c (time_cmp): negate the result of reverse comparison.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-26 16:35:18 +00:00
akr
6fcaf92943
* strftime.c (rb_strftime): use locale insensitive functions for tr_TR
...
locale.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 10:13:11 +00:00
shugo
361a713f96
* strftime.c (rb_strftime): The # flag should work with %a, %A, %b,
...
%B, and %h. [ruby-dev:37162]
* test/ruby/test_time.rb (test_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 14:29:37 +00:00
shugo
bf1d53e2e0
* strftime.c (rb_strftime): A width specifier for %t and %n should
...
work. [ruby-dev:37160]
* test/ruby/test_time.rb (test_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 14:01:47 +00:00
shugo
aa498028b2
* strftime.c (rb_strftime): The precision of %0N should be 9.
...
[ruby-dev:37156]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 13:10:07 +00:00
shugo
32aed81046
* strftime.c (rb_strftime): The default precision should be 1, not
...
0. [ruby-dev:37155]
* test/ruby/test_time.rb (test_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-24 12:42:45 +00:00
shugo
63846d48a9
* strftime.c (rb_strftime): supported %s and %P.
...
* time.c (time_strftime): ditto.
* test/ruby/test_time.rb (test_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 17:06:20 +00:00
shugo
77d7a80f97
* strftime.c (rb_strftime): fixed a bug of padding.
...
* test/ruby/test_time.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 15:54:44 +00:00
shugo
6a7481c38d
* strftime.c (rb_strftime): Time.mktime(2000).strftime("%-S") should
...
return "0", not "".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 15:01:07 +00:00
mame
5ef4c56784
* test/ruby/test_time.rb: suppress warning during test.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 14:55:53 +00:00
mame
846f142a17
* test/ruby/test_time.rb (test_strftime): make test for %a independent
...
from local timezone. [ruby-dev:35992]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 14:51:30 +00:00
nobu
ce2b7d3a58
* strftime.c (rb_strftime): supported flags and precision for most
...
conversions. [ruby-dev:35906]
* lib/date/format.rb (Date#strftime): left-justifies %L and %N.
[ruby-dev:35909]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 05:28:08 +00:00
shugo
a0cc5b19b7
* strftime.c (rb_strftime): supported %F and %<precision>N.
...
reverted config.h to ruby.h for Windows.
* test/ruby/test_time.rb (TestTime::test_strftime): added tests
for %F and %N.
* time.c: documented %F and %N.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 14:57:35 +00:00
shugo
9b4d4a8a48
* strftime.c (rb_strftime): return "UTC" instead of "GMT".
...
* test/ruby/test_time.rb (test_strftime): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-21 00:30:28 +00:00
shugo
1fd1e0ac04
* strftime.c: new file.
...
* common.mk (COMMONOBJS): added strftime.$(OBJEXT).
* time.c (time_strftime): do not use strftime(3). supported
%L(millisecond) and %N(nanosecond).
* test/ruby/test_time.rb: added tests for %L and %N.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-20 15:30:28 +00:00
kazu
ae87557916
* test/ruby/test_time.rb (TestTime#test_time_interval): add timeout
...
to avoid stopping tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-14 08:40:17 +00:00
akr
6e90749f80
* time.c: fix rounding negative float.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-27 16:10:46 +00:00
akr
04752225a7
* time.c (obj2nsec): fix string argument.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-04 07:05:26 +00:00
naruse
2f866a3666
* test/ruby/test_time.rb (test_readers): fix typo.
...
(test_strftime): "UTC" is also ok for time.gmtime.strftime("%Z").
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-28 18:32:17 +00:00
mame
65753a5838
* test/ruby/test_pack.rb: fix tests for 64bit CPU.
...
* test/ruby/test_bignum.rb: ditto.
* test/ruby/test_file_exhaustive.rb: ditto.
* test/ruby/test_integer.rb: ditto.
* test/ruby/test_time.rb: ditto.
* test/ruby/test_numeric.rb: ditto.
* test/ruby/test_fixnum.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-10 21:52:25 +00:00
mame
2bef7dece1
* test/ruby/test_hash.rb: follow the change of Hash#flatten.
...
* test/ruby/test_time.rb: add tests to achieve over 70% test coverage
of time.c.
* test/ruby/test_prec.rb: ditto over 90% for prec.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-07 15:09:12 +00:00
akr
a070c4fbe3
* configure.in: check struct timespec, clock_gettime, utimensat,
...
struct stat.st_atim,
struct stat.st_atimespec,
struct stat.st_atimensec,
struct stat.st_mtim,
struct stat.st_mtimespec,
struct stat.st_mtimensec,
struct stat.st_ctim,
struct stat.st_ctimespec,
struct stat.st_ctimensec.
* include/ruby/missing.h: provide struct timespec if not available.
* time.c: support nanosecond-resolution using struct timespec.
* include/ruby/intern.h: provide rb_time_nano_new.
* file.c (utime_internal): use utimensat if available.
(rb_file_s_utime): refactored.
(rb_f_test): use stat_atime, stat_mtime, stat_ctime.
(rb_stat_cmp): check tv_nsec.
(stat_atimespec): new function.
(stat_atime): ditto.
(stat_mtimespec): ditto.
(stat_mtime): ditto.
(stat_ctimespec): ditto.
(stat_ctime): ditto.
(rb_stat_atime): use stat_atime.
(rb_file_s_atime): ditto.
(rb_file_atime): ditto.
(rb_stat_mtime): use stat_mtime.
(rb_file_s_mtime): ditto.
(rb_file_mtime): ditto.
(rb_file_ctime): use stat_ctime.
(rb_file_s_ctime): ditto.
(rb_stat_ctime): ditto.
* variable.c (rb_copy_generic_ivar): clear clone's instance variables
if obj has no instance variable.
* marshal.c (w_object): dump instance variables of generated string
for TYPE_USERDEF, even if original object has instance variables.
* lib/time.rb (Time#xmlschema): use nsec instead of usec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-19 09:09:38 +00:00
akr
3184ac2dfe
* time.c (time_minus): fix Time.at(2**60+1) - Time.at(2**60).
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 09:30:17 +00:00