有两个标准的C lib函数gmtime() and localtime()。他们都返回这样的结构(一个在GMT,一个在本地TZ和夏令时):
struct tm {
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};
PHP有一个超过localtime()的包装器,但据我所知,不是gmtime()。我错过了什么? PHP的gmtime()包装器在哪里?
我确实找到了一个非常旧的PHP gmtime() - https://bugs.php.net/bug.php?id=576&edit=1请求。但它被关闭并被解雇,因为不需要。我不同意。
我不需要它。但是将struct tm
从当地时间转换为GMT并非易事(AFAIK),所以拥有它会很好。和localtime()一样好。
答案 0 :(得分:2)
总之,@ WoouterHuysentruit指出在localtime()文档页面的注释中讨论了gmtime()
的缺席。有人说它没有在所有系统上正确实现或根本没有实现,这是因为它的标准C89和POSIX令人惊讶。无论如何,Wouter指出在评论中还有一个gmtime()的PHP实现,这对我来说很有用。
答案 1 :(得分:2)
函数time()的文档(http://php.net/manual/en/function.time.php)中指出:
“返回以Unix时代(1970年1月1日00:00:00 GMT)以来的秒数为单位的当前时间。”
所以gmtime就是time()。