diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-01-12 17:00:14 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-01-12 17:00:14 +0900 |
commit | b017848f8a9c907be07f51d6ae6304bff9950594 (patch) | |
tree | 7bb1bb2448ddaaff9f569b702da485cc261140df /time.c | |
parent | f7dc4d5cda74e101fa66c1170c0b47deea09c0ee (diff) |
Show seconds of utc_offset if not zero
Diffstat (limited to 'time.c')
-rw-r--r-- | time.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -4099,7 +4099,14 @@ time_inspect(VALUE time) rb_str_cat_cstr(str, " UTC"); } else { - rb_str_concat(str, strftimev(" %z", time, rb_usascii_encoding())); + /* ?TODO: subsecond offset */ + long off = NUM2LONG(rb_funcall(tobj->vtm.utc_offset, rb_intern("round"), 0)); + char sign = (off < 0) ? (off = -off, '-') : '+'; + int sec = off % 60; + int min = (off /= 60) % 60; + off /= 60; + rb_str_catf(str, " %c%.2d%.2d", sign, (int)off, min); + if (sec) rb_str_catf(str, "%.2d", sec); } return str; } |