Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是一个 PHP 问题。当我测试这段代码时
echo date("d-m-y h:i:S");
在我的本地服务器和我的托管网站上(这两个具有不同的时区),它们返回不同的日期时间值,正如预期的那样。但是当我尝试这段代码时
echo mktime();
我在两台服务器上看到相同的结果。mktime() 是否返回标准时区从 1970 年开始的秒数,无论您的时区是什么?
感谢您的回答
从文档中:
mktime — 获取日期的 Unix 时间戳
将其与您最初的问题综合起来:
mktime() 是否返回标准时区从 1970 年开始的秒数,无论您的时区是什么?
是的。
mktime()返回与给定参数对应的 Unix 时间戳。此时间戳是一个长整数,包含Unix 纪元 (1970 年 1 月 1 日 00:00:00 GMT)和指定时间之间的秒数。 date()如果没有给出时间戳,则使用给定的整数时间戳或当前时间(本地时区)返回根据给定格式字符串格式化的字符串。
mktime()返回与给定参数对应的 Unix 时间戳。此时间戳是一个长整数,包含Unix 纪元 (1970 年 1 月 1 日 00:00:00 GMT)和指定时间之间的秒数。
mktime()
date()如果没有给出时间戳,则使用给定的整数时间戳或当前时间(本地时区)返回根据给定格式字符串格式化的字符串。
date()
正如文档中提到的那样,mktime()返回格林威治标准时间从纪元开始的秒数,而date()(不带第二个参数)返回本地时区的时间。