Граф коммитов

519 Коммитов

Автор SHA1 Сообщение Дата
svn 5d9acf07fb * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20 05:00:45 +00:00
nobu 1686c0d470 Add `Time#floor`
[Feature #15653]
[Fix GH-2092]

From: manga_osyo <manga.osyo@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20 05:00:43 +00:00
nobu 4dd1cf3b27 time.c: added in: option to Time.now
* time.c (time_s_now): added in: option to Time.now as well as
  Time.at.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-19 08:53:40 +00:00
stomar 6833fbcfaf time.c: [DOC] small improvement
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-20 15:04:41 +00:00
nobu 665d9a4331 time.c: separate sign argument
* time.c (vtm_add_offset): separate sign argument to get rid of
  repeated negations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 04:36:45 +00:00
nobu 019c891508 time.c: do not set utc_offset in vtm_add_offset
* time.c (vtm_add_offset): just add offset to other components
  only.  removed subtraction of utc_offset as it is overwritten
  always immediately in callers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-13 03:31:01 +00:00
nobu 347f3f30d6 time.c: update error message for invalid utc_offset
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-09 13:58:51 +00:00
nobu 8371a9a4ce time.c: support military time zone names
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-07 07:03:23 +00:00
nobu 4f9ab3a01a time.c: UTC and Z timezones should be utc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-07 06:59:46 +00:00
nobu d747ecc0c4 time.c: zone in fixoff mode
* time.c (time_set_utc_offset): reset zone when setting to fixoff
  mode.  while previously TZMODE_SET_FIXOFF has reset it always,
  the zone is kept for loaded zone since r65025.
  [ruby-core:90627] [Bug #15439]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-24 01:46:48 +00:00
nobu 95fbd87fab Range check is only for interaval
* time.c (time_timespec): range check is only for time interval
  value if time_t is signed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-17 00:43:40 +00:00
nobu 9446db408c Refine error message for time interval
* time.c (time_timespec): Time interval value can be zero, not
  only positive.  [ruby-dev:50709] [Bug #15420]

From: shuujii (Shuji KOBAYASHI) <shuujii@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-16 12:55:59 +00:00
stomar 52a71df01b time.c: [DOC] improve docs for tz argument of Time.new
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-15 21:28:34 +00:00
stomar bd78a07f46 time.c: improve docs for Time
* time.c: [DOC] fix typos, drop unnecessary `p' from code examples,
  add missing `#' for return values, other small improvements.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-13 22:41:44 +00:00
nobu 98e65d9d92 Prefer rb_check_arity when 0 or 1 arguments
Especially over checking argc then calling rb_scan_args just to
raise an ArgumentError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-06 07:49:24 +00:00
nobu 4b85e88174 Prefer rb_check_arity when 0 or 1 arguments
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 02:24:15 +00:00
nobu 4471d4a3e5 time.c: rescue find_timezone when loading
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-28 14:08:35 +00:00
nobu ab73b30539 Time.at in: tz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-28 14:08:33 +00:00
nobu bdfc701b85 Timezone at Time.at
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-28 14:08:32 +00:00
nobu 337b4b6344 Try Time.find_timezone to convert name to timezone
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-28 14:08:31 +00:00
nobu fe08f99e93 Try Time.find_timezone to load
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-28 14:08:30 +00:00
naruse 2c652768a8 Normalize month-mday before finding epoch
Especially over the year 2038, 30 Feb and so on may cause odd behavior
on validating found epoch with given year-month-day [Bug #15340]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-25 16:23:18 +00:00
nobu f167ff47a6 Hide Time::TM as Time::tm
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-04 02:09:01 +00:00
nobu 5bb1f4e73f time.c: [DOC] fix method names to refer class methods [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-29 08:11:25 +00:00
nobu b361c8e3d5 time.c: added Time::TM#+ and Time::TM#-
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-28 12:05:19 +00:00
nobu d59ad98f6a time.c: ignore 7th arg
* time.c (tm_initialize): allow 7th argument as well as
  Time#initialize, but just ignore.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-28 12:05:18 +00:00
nobu c4be18c28b time.c: [DOC] add description and fix markups [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-28 12:05:17 +00:00
nobu 7eda588d66 time.c: [DOC] fix rdoc-ref [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-28 05:53:57 +00:00
nobu 934e3e0e12 time.c: [DOC] about timezone arguemnt [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-28 04:00:26 +00:00
nobu 4c875b6e66 time.c: benchmark recovery
* time.c (time_localtime): check if `vtm.zone` is a simple zone
  name string before trying to call the conversion method.  since
  r64952, `Time.getlocal` on UTC time has lost the performance
  about 45%, due to this call.  the performance is about 90% of
  r64951 by avoiding it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-25 00:36:23 +00:00
nobu fc3b500fb1 Let Time::TM share the implementation with Time
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-23 12:43:07 +00:00
nobu 6fdbf5a804 No longer subsec and isdst members
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-22 14:02:59 +00:00
nobu 0bed6345ce Revert TM_IS_TIME to 1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-22 13:56:41 +00:00
nobu 385b772149 Return fixed values at subsec, utc_offset, and isdst
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-22 13:53:20 +00:00
nobu 8747974d4b time.c: optional arguments of Time::TM#initialize
* time.c (tm_initialize): arguments other than year are optional
  now as Time.new.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-22 01:25:29 +00:00
nobu fa8b08b424 Prefer `rb_fstring_lit` over `rb_fstring_cstr`
The former states explicitly that the argument must be a literal,
and can optimize away `strlen` on all compilers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-13 09:59:22 +00:00
nobu 1821e9f4dc Fix overwritten zone string
* time.c (zone_str): while rb_fstring_usascii and the family
  require that the argument string is never modified, tzname may
  point areas which will be discarded by calling tzset().
  make a String then call rb_fstring to copy the zone name.
  when an ID equals TZ environment variable, its name string also
  has modified by changing tzname.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-12 15:48:06 +00:00
nobu ade73091cb Initialize zone
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-12 02:49:39 +00:00
nobu 75ac8e866b Load as FIXOFF mode if zone is present
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-12 02:25:38 +00:00
nobu 093398f979 Just copy tzmode
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-12 02:25:37 +00:00
nobu fcf308e5fc Timezone at Time#+ and Time#-
* time.c (time_add): support for Timezone.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-08 04:03:32 +00:00
svn b8fbe8b59f * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-08 02:35:33 +00:00
nobu ee58c638b8 Timezone support by Time [Feature #14850]
* strftime.c (rb_strftime): support timezone object by `%z`.

* time.c (time_init_1, time_new_timew, time_getlocaltime): accept
  timezone object as `off`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-08 02:35:31 +00:00
nobu 0e3e0f8249 Fix messages for too small year
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-27 10:22:08 +00:00
nobu 351b8a322e time.c split time_utc_or_local
* time.c (time_utc_or_local): split into time_s_mkutc and
  time_s_mktime without utc flag.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-12 14:37:51 +00:00
akr efb002cd7a rename an argument of calc_wday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-21 14:40:18 +00:00
akr 3d3ff9f324 gmtimew_noleapsecond uses tables for mon and mday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-15 14:24:44 +00:00
akr 8507904385 timegm_noleapsecond uses calc_tm_yday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-12 16:45:02 +00:00
akr 4078be54ad rename several internal macros in time.c
TIME_UTC_P -> TZMODE_UTC_P
TIME_SET_UTC -> TZMODE_SET_UTC
TIME_LOCALTIME_P -> TZMODE_LOCALTIME_P
TIME_SET_LOCALTIME -> TZMODE_SET_LOCALTIME
TIME_FIXOFF_P -> TZMODE_FIXOFF_P
TIME_SET_FIXOFF -> TZMODE_SET_FIXOFF
TIME_COPY_GMT -> TZMODE_COPY



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-08 12:48:58 +00:00
kazu 0f904ff1fc Update comment of tzmode [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-08 11:50:39 +00:00