php date(“Y-m-d H:i:s”, time()) 和 date(“Y-m-d H:i:s”) 区别

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()。


已发布

分类

作者:

标签

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注