php中的date()函数用于格式化日期和时间。它有两种使用方式:
1. date(“Y-m-d H:i:s”, time())
这种方式使用time()函数获取当前UNIX时间戳,并将其转换为指定的日期时间格式。
例如:
php echo date("Y-m-d H:i:s", time()); // 输出:2020-01-01 12:00:00
2. date(“Y-m-d H:i:s”)
这种方式直接使用date()函数获取当前日期时间,无需传入time()的时间戳。
例如:
php echo date("Y-m-d H:i:s"); // 输出:2020-01-01 12:00:00
那么这两种方式有什么区别呢?
主要区别在于:
– time()获取的时间戳是自Unix Epoch(1970年1月1日UTC)以来的秒数,会受到时区影响。
– date()直接获取的当前日期时间取决于服务器所在的时区。
举个例子:
在UTC+8时区的服务器上:
php echo date("Y-m-d H:i:s", time()); // 2020-01-01 12:00:00 echo date("Y-m-d H:i:s"); // 2020-01-01 12:00:00
两个函数获取的时间相同。
而在UTC-8时区的服务器上:
php echo date("Y-m-d H:i:s", time()); // 2020-01-01 04:00:00 echo date("Y-m-d H:i:s"); // 2020-01-01 12:00:00 //服务器时区时间
time()获取的时间跟随服务器所在UTC-8时区,而date()获取的直接是服务器UTC-8时区的时间。
所以,如果你需要获取受时区影响的时间戳时间,使用time()。如果你需要获取服务器所在时区的时间,直接使用date()。