mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* time.c (time_to_s): adopt new date format using digits
e.g. "2006-09-07 02:03:45 +9000". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
585c61691e
commit
ddfc925c8d
2 changed files with 25 additions and 18 deletions
|
@ -3,6 +3,11 @@ Thu Sep 7 23:27:05 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|||
* file.c (path_check_0, fpath_check): disable path check on cygwin.
|
||||
[ruby-talk:213074]
|
||||
|
||||
Thu Sep 7 02:03:45 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* time.c (time_to_s): adopt new date format using digits
|
||||
e.g. "2006-09-07 02:03:45 +9000".
|
||||
|
||||
Thu Sep 7 01:54:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* string.c (sym_equal): override. check equivalence.
|
||||
|
|
38
time.c
38
time.c
|
@ -1198,30 +1198,32 @@ time_to_s(VALUE time)
|
|||
struct time_object *tobj;
|
||||
char buf[128];
|
||||
int len;
|
||||
time_t off;
|
||||
char buf2[32];
|
||||
char sign = '+';
|
||||
#if !defined(HAVE_STRUCT_TM_TM_GMTOFF)
|
||||
VALUE tmp;
|
||||
#endif
|
||||
|
||||
GetTimeval(time, tobj);
|
||||
if (tobj->tm_got == 0) {
|
||||
time_get_tm(time, tobj->gmt);
|
||||
}
|
||||
#if defined(HAVE_STRUCT_TM_TM_GMTOFF)
|
||||
off = tobj->tm.tm_gmtoff;
|
||||
#else
|
||||
tmp = time_utc_offset(time);
|
||||
off = NUM2INT(tmp);
|
||||
#endif
|
||||
if (off < 0) {
|
||||
sign = '-';
|
||||
off = -off;
|
||||
if (tobj->gmt == 1) {
|
||||
len = strftime(buf, 128, "%Y-%m-%d %H:%M:%S UTC", &tobj->tm);
|
||||
}
|
||||
else {
|
||||
time_t off;
|
||||
char buf2[32];
|
||||
char sign = '+';
|
||||
#if defined(HAVE_STRUCT_TM_TM_GMTOFF)
|
||||
off = tobj->tm.tm_gmtoff;
|
||||
#else
|
||||
VALUE tmp = time_utc_offset(time);
|
||||
off = NUM2INT(tmp);
|
||||
#endif
|
||||
if (off < 0) {
|
||||
sign = '-';
|
||||
off = -off;
|
||||
}
|
||||
sprintf(buf2, "%%Y-%%m-%%d %%H:%%M:%%S %c%02d%02d",
|
||||
sign, (int)(off/3600), (int)(off%3600/60));
|
||||
len = strftime(buf, 128, buf2, &tobj->tm);
|
||||
}
|
||||
sprintf(buf2, "%%a, %%b %%d %%Y %%H:%%M:%%S %c%02d%02d",
|
||||
sign, (int)(off/3600), (int)(off%3600/60));
|
||||
len = strftime(buf, 128, buf2, &tobj->tm);
|
||||
return rb_str_new(buf, len);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue