aboutsummaryrefslogtreecommitdiffstats
path: root/time.c
Commit message (Collapse)AuthorAgeFilesLines
* Using TZMODE_SET_LOCALTIME macroS-H-GAMELINKS2022-05-261-6/+6
|
* [DOC]Some link prefix replaceS-H-GAMELINKS2022-04-091-1/+1
|
* Fix a typo of macro nameNobuyoshi Nakada2022-02-281-1/+1
| | | | | | When the date is 28 Feb in the local timezone and 27 in the UTC, the leap second info is wrongly calculated, and the Time for 1 Mar created with a timezone resulted in an invalid date, 30 Feb.
* Speed up and avoid kwarg hash alloc in Time.nowJohn Hawthorn2022-01-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously Time.now was switched to use Time.new as it added support for the in: argument. Unfortunately because Class#new is a cfunc this requires always allocating a Hash. This commit switches Time.now back to using a builtin time_s_now. This avoids the extra Hash allocation and is about 3x faster. $ benchmark-driver -e './ruby;3.1::~/.rubies/ruby-3.1.0/bin/ruby;3.0::~/.rubies/ruby-3.0.2/bin/ruby' benchmark/time_now.yml Warming up -------------------------------------- Time.now 6.704M i/s - 6.710M times in 1.000814s (149.16ns/i, 328clocks/i) Time.now(in: "+09:00") 2.003M i/s - 2.112M times in 1.054330s (499.31ns/i) Calculating ------------------------------------- ./ruby 3.1 3.0 Time.now 7.693M 2.763M 6.394M i/s - 20.113M times in 2.614428s 7.278710s 3.145572s Time.now(in: "+09:00") 2.030M 1.260M 1.617M i/s - 6.008M times in 2.960132s 4.769378s 3.716537s Comparison: Time.now ./ruby: 7693129.7 i/s 3.0: 6394109.2 i/s - 1.20x slower 3.1: 2763282.5 i/s - 2.78x slower Time.now(in: "+09:00") ./ruby: 2029757.4 i/s 3.0: 1616652.3 i/s - 1.26x slower 3.1: 1259776.2 i/s - 1.61x slower
* Raise proper exception when month argument is not a nameNobuyoshi Nakada2021-12-251-9/+3
| | | | https://bugs.ruby-lang.org/issues/17485#change-89871
* Check month overflow when marshalNobuyoshi Nakada2021-12-091-1/+6
| | | | https://hackerone.com/reports/1244185
* Use `Primitive.mandatory_only?` for `Time.at`Koichi Sasada2021-11-151-0/+6
|
* Tentative fix of subsec to `Time.at` [Bug #18293]Nobuyoshi Nakada2021-11-101-1/+1
|
* Simplify default values of `Time.at` [Bug #18293]Nobuyoshi Nakada2021-11-101-3/+3
|
* Fix leap day with UTC offset [Bug #18274]Nobuyoshi Nakada2021-10-281-1/+2
| | | | | `struct vtm::year` is a Ruby integer instance, but not a C integer type.
* Prefer the reentrant versions of gmtime and localtimeNobuyoshi Nakada2021-10-141-0/+4
|
* Include the invalid value in invalid_utc_offset errorNobuyoshi Nakada2021-09-181-15/+17
|
* Remove unneeded ruby_reset_leap_second_info function declaration (#4824)S.H2021-09-161-1/+0
|
* Using RB_BIGNUM_TYPE_P macroS-H-GAMELINKS2021-09-111-8/+8
|
* include/ruby/internal/intern/time.h: add doxygen卜部昌平2021-09-101-5/+0
| | | | Must not be a bad idea to improve documents. [ci skip]
* Replace RBOOL macroS-H-GAMELINKS2021-09-051-1/+1
|
* Using RBOOL macroS.H2021-08-021-4/+3
|
* Added macros for days in monthNobuyoshi Nakada2021-06-271-13/+8
|
* Shrink monthly tablesNobuyoshi Nakada2021-06-271-6/+6
|
* [Documentation] Fix typo, formatting in `time.c`Anton Rieder2021-06-221-2/+2
| | | Backticks do not result in code formatting.
* Make frozen Time Ractor-shareableNobuyoshi Nakada2021-06-181-1/+2
|
* time.c: Check if defined(RUBY_MSVCRT_VERSION) to build on SolarisYusuke Endoh2021-06-141-1/+1
| | | | Fixes [Bug #17947]
* timev.rb: moved class rdoc from time.cNobuyoshi Nakada2021-06-071-211/+1
|
* Update Time documentationBurdette Lamar2021-04-291-62/+158
|
* Refactored sub-seconds normalizationsNobuyoshi Nakada2021-04-011-40/+21
| | | | | | * separated argument to `timespec2timew` from `timespec` to seconds and nano-seconds. * unified nano-seconds and micro-seconds normalizations.
* Remove mentions of Bignum in time.cJeremy Evans2021-02-191-8/+11
| | | | | | | | Move section on internal details out of the class-level documentation, since users do not need to know that. Update it to use Integer(T_BIGNUM) instead of Bignum. Fixes [Misc #17580]
* Parse "-00:00" as UTC for the round-trip [Feature #17544]Nobuyoshi Nakada2021-02-161-1/+3
|
* Fixed time_t conversion modifiers for debugNobuyoshi Nakada2021-02-111-6/+19
|
* Compile debugging code for time alwaysNobuyoshi Nakada2021-02-101-14/+26
|
* Fixed the signature of find_time_numguess_getterNobuyoshi Nakada2021-02-101-1/+2
|
* Added `in:` timezone option to `Time.new` [Feature #17485]Nobuyoshi Nakada2021-01-131-86/+15
|
* Allow UTC offset without colons per ISO-8601 [Bug #17504]Nobuyoshi Nakada2021-01-131-15/+29
|
* Convert time component strings to integers more strictlyNobuyoshi Nakada2021-01-121-4/+4
| | | | https://bugs.ruby-lang.org/issues/17485#change-89871
* Show seconds of utc_offset if not zeroNobuyoshi Nakada2021-01-121-1/+8
|
* get_tmopt is no longer usedNobuyoshi Nakada2020-12-311-17/+0
|
* Moved Time.at to builtinNobuyoshi Nakada2020-12-311-61/+6
|
* Moved Time.now to builtinNobuyoshi Nakada2020-12-311-16/+3
|
* Moved time.rb to timev.rbNobuyoshi Nakada2020-12-311-1/+1
|
* Add time.rb as builtinNobuyoshi Nakada2020-12-311-0/+5
|
* Removed deprecated Time#succNobuyoshi Nakada2020-12-071-35/+0
|
* Subsecond of Time::tm should be 0Nobuyoshi Nakada2020-11-281-0/+1
|
* Use rb_intern_const instead of rb_intern in Init functionsNobuyoshi Nakada2020-10-211-1/+1
| | | | | | | | | ``` find . -name \*.o -exec nm {} + |& sed '/Init_.*\.rbimpl_id/!d;s/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' | uniq ``` should be empty.
* Don't redefine #rb_intern over and over againStefan Stüben2020-10-211-23/+20
|
* Fix Time#ceil when result should be the same as the receiverJeremy Evans2020-07-281-1/+4
| | | | Fixes [Bug #17025]
* Use https instead of httpKazuhiro NISHIYAMA2020-07-281-2/+2
|
* Fix Time#to_a behavior with timezone [Bug #17046]S.H2020-07-241-1/+1
|
* Ensure time object meets a given condition [Bug #17042]Nobuyoshi Nakada2020-07-231-15/+11
|
* Merge pull request #3352 from S-H-GAMELINKS/bug/17042-strftimeS.H2020-07-231-0/+4
| | | Fix Time#strftime with timezone [Bug #17042]
* [DOC] time.c document updated.Tanaka Akira2020-07-211-113/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fraction -> subsecond for consistency with method name * The sentence, "A non-portable feature allows the offset to be negative on some systems.", is removed. Time before 1970 should work portably now. If localtime() doesn't work before 1970, Ruby should extrapolate it. * Time::new -> Time.new "::" for method call is not common notation now. * Time#to_i truncates subsecond * Time#to_f approximates a value in Time object * Time#to_r The sentence, "You can use this method to convert _time_ to another Epoch.", is removed. It is not clear because no actual example of "another Epoch" is given. * Time#usec truncates fraction of microseconds. * Time#nsec truncates fraction of nanoseconds. * describe Time#inspect shows subsecond since Ruby 2.7.0.
* Fixed yday and wday with timezone [Bug #17024]Nobuyoshi Nakada2020-07-121-4/+9
|