C中的localtime()和gmtime()有什么区别?

时间:2011-03-23 17:11:06

标签: c time

我是C编程的新手。谁能告诉我在C中localtime()和gmtime()之间的区别是什么?

谢谢你!

2 个答案:

答案 0 :(得分:8)

来自“man localtime”:

   The  gmtime()  function converts the calendar time timep to broken-down
   time representation, expressed in Coordinated Universal Time (UTC).  It
   may return NULL when the year does not fit into an integer.  The return
   value points to a statically allocated struct which might be  overwrit‐
   ten  by  subsequent  calls  to any of the date and time functions.  The
   gmtime_r() function does the same, but stores the data in  a  user-sup‐
   plied struct.

   The  localtime()  function  converts the calendar time timep to broken-
   time representation, expressed relative to the user’s  specified  time‐
   zone.  The function acts as if it called tzset(3) and sets the external
   variables tzname with information about the current timezone,  timezone
   with  the difference between Coordinated Universal Time (UTC) and local
   standard time in seconds, and daylight to a non-zero value if  daylight
   savings  time  rules  apply  during  some part of the year.  The return
   value points to a statically allocated struct which might be  overwrit‐
   ten  by  subsequent  calls  to any of the date and time functions.  The
   localtime_r() function does the same, but stores the data  in  a  user-
   supplied struct.  It need not set tzname, timezone, and daylight.

答案 1 :(得分:7)

gmtime采用协调世界时(UTC),而本地时间采用您的时区