From a7a3ca9f0290131842f1a40bb8dca1a9490e4d27 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Sat, 1 May 2021 05:51:18 +0800 Subject: 增加手动设置时区的功能 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/libc/compilers/common/time.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'components/libc/compilers/common/time.c') diff --git a/components/libc/compilers/common/time.c b/components/libc/compilers/common/time.c index 33d8907165..8dda257937 100644 --- a/components/libc/compilers/common/time.c +++ b/components/libc/compilers/common/time.c @@ -214,7 +214,7 @@ struct tm* localtime_r(const time_t* t, struct tm* r) time_t local_tz; int utc_plus; - utc_plus = 8; /* GMT: UTC+8 */ + utc_plus = RT_LIBC_FIXED_TIMEZONE; local_tz = *t + utc_plus * 3600; return gmtime_r(&local_tz, r); } @@ -233,7 +233,7 @@ time_t mktime(struct tm * const t) time_t timestamp; int utc_plus; - utc_plus = 8; /* GMT: UTC+8 */ + utc_plus = RT_LIBC_FIXED_TIMEZONE; timestamp = timegm(t); timestamp = timestamp - 3600 * utc_plus; return timestamp; -- cgit v1.3.1 From 0aa3b80fc3509a2377d727e76fd9393f4b4962d8 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Sat, 1 May 2021 06:03:46 +0800 Subject: 在time.c中增加RT_LIBC_FIXED_TIMEZONE默认值,防止有些工程没有配置RT_LIBC_FIXED_TIMEZONE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/libc/compilers/common/time.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'components/libc/compilers/common/time.c') diff --git a/components/libc/compilers/common/time.c b/components/libc/compilers/common/time.c index 8dda257937..3e23fc8242 100644 --- a/components/libc/compilers/common/time.c +++ b/components/libc/compilers/common/time.c @@ -30,6 +30,10 @@ #define DBG_LVL DBG_INFO #include +#ifndef RT_LIBC_FIXED_TIMEZONE +#define RT_LIBC_FIXED_TIMEZONE 8 +#endif + /* seconds per day */ #define SPD 24*60*60 -- cgit v1.3.1 From 65984a7116e747e022083774852f3a90617ca4e1 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Sat, 1 May 2021 06:06:03 +0800 Subject: add comment --- components/libc/compilers/common/time.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'components/libc/compilers/common/time.c') diff --git a/components/libc/compilers/common/time.c b/components/libc/compilers/common/time.c index 3e23fc8242..f7f52be9b4 100644 --- a/components/libc/compilers/common/time.c +++ b/components/libc/compilers/common/time.c @@ -31,7 +31,7 @@ #include #ifndef RT_LIBC_FIXED_TIMEZONE -#define RT_LIBC_FIXED_TIMEZONE 8 +#define RT_LIBC_FIXED_TIMEZONE 8 /* UTC+8 */ #endif /* seconds per day */ -- cgit v1.3.1 From a611a6686402bd074cbaf53c53356c381ab54a5f Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Sat, 1 May 2021 06:08:14 +0800 Subject: 精简代码 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/libc/compilers/common/time.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'components/libc/compilers/common/time.c') diff --git a/components/libc/compilers/common/time.c b/components/libc/compilers/common/time.c index f7f52be9b4..799f71a2d0 100644 --- a/components/libc/compilers/common/time.c +++ b/components/libc/compilers/common/time.c @@ -212,14 +212,11 @@ struct tm* gmtime(const time_t* t) } RTM_EXPORT(gmtime); -/*TODO: timezone */ struct tm* localtime_r(const time_t* t, struct tm* r) { time_t local_tz; - int utc_plus; - utc_plus = RT_LIBC_FIXED_TIMEZONE; - local_tz = *t + utc_plus * 3600; + local_tz = *t + RT_LIBC_FIXED_TIMEZONE * 3600; return gmtime_r(&local_tz, r); } RTM_EXPORT(localtime_r); @@ -231,15 +228,12 @@ struct tm* localtime(const time_t* t) } RTM_EXPORT(localtime); -/* TODO: timezone */ time_t mktime(struct tm * const t) { time_t timestamp; - int utc_plus; - utc_plus = RT_LIBC_FIXED_TIMEZONE; timestamp = timegm(t); - timestamp = timestamp - 3600 * utc_plus; + timestamp = timestamp - 3600 * RT_LIBC_FIXED_TIMEZONE; return timestamp; } RTM_EXPORT(mktime); -- cgit v1.3.1