PHP date()函数忽略timestamp参数

PHP date()函数忽略timestamp参数,php,datetime,timestamp,Php,Datetime,Timestamp,下面可以看到以下程序的输出: 不太确定您希望看到什么,但是是的,在我看来很正常 时间戳是从某个时间点(通常是时间点)开始计算的整数。虽然该值的显示与时区无关,但也就是说,用时区表示的格式正确的日期值与时区无关 例如,以下所有语句均为true(逻辑上) 所有时间都是“时区独立”。时区只会影响我们显示某个特定时刻的方式。不太确定您希望看到什么,但是的,在我看来很正常 时间戳是从某个时间点(通常是时间点)开始计算的整数。虽然该值的显示与时区无关,但也就是说,用时区表示的格式正确的日期值与时区无关 例如

下面可以看到以下程序的输出:


不太确定您希望看到什么,但是是的,在我看来很正常

时间戳是从某个时间点(通常是时间点)开始计算的整数。虽然该值的显示与时区无关,但也就是说,用时区表示的格式正确的日期值与时区无关

例如,以下所有语句均为true(逻辑上)


所有时间都是“时区独立”。时区只会影响我们显示某个特定时刻的方式。

不太确定您希望看到什么,但是的,在我看来很正常

时间戳是从某个时间点(通常是时间点)开始计算的整数。虽然该值的显示与时区无关,但也就是说,用时区表示的格式正确的日期值与时区无关

例如,以下所有语句均为true(逻辑上)

所有时间都是“时区独立”。时区只影响我们显示特定时刻的方式。

date()
函数第二个参数,如果未指定,则为
time()

date()返回一个字符串,该字符串使用给定的整数时间戳按照给定的格式字符串进行格式化,如果没有给定时间戳,则返回当前时间。换句话说,timestamp是可选的,默认值为time()

所以实际上什么都没有被忽略。

date()
函数第二个参数,如果没有指定,是
time()

date()返回一个字符串,该字符串使用给定的整数时间戳按照给定的格式字符串进行格式化,如果没有给定时间戳,则返回当前时间。换句话说,timestamp是可选的,默认值为time()


因此实际上什么都没有被忽略。

date函数返回为当前时区计算的时间戳的日期,正如其他人所说,如果没有向它传递时间戳,那么当前时间将用于时间戳,因此传递
time()
与根本不传递任何内容是一样的

但是,执行类似于
$time=time();睡眠5;回显日期($格式,$时间)将为您提供过去5秒的日期

它的目的是显示为当前时区格式化的日期,这样您就可以有一种通用的方法,在计算机/服务器之间保持时间不变,并且很容易解析,同时还可以在所需的任何时区显示日期


UTC时区实际上是时间戳计算到的时间,更精确地说,是从1970年UTC 1月1日00:00开始的秒数,然后加上或减去3600(60*60)从UTC时间到时间戳每小时偏移的秒数,以获取当前设置时区中的时间。

日期函数返回为当前时区计算的时间戳的日期,正如其他人所说,如果没有向其传递时间戳,则当前时间用于时间戳,因此传递
time()
与根本不传递任何内容相同

但是,执行类似于
$time=time();睡眠5;回显日期($格式,$时间)将为您提供过去5秒的日期

它的目的是显示为当前时区格式化的日期,这样您就可以有一种通用的方法,在计算机/服务器之间保持时间不变,并且很容易解析,同时还可以在所需的任何时区显示日期

UTC时区实际上是时间戳计算到的时间,更精确地说,是自1970年UTC 1月1日00:00起的秒数,然后它将UTC时间每小时偏移的时间戳加上或减去3600(60*60)秒,以获得当前设置时区中的时间

<?php

/* Checking if time() is really timezone independent */

date_default_timezone_set('UTC');
echo time();
echo "\n";
date_default_timezone_set('Australia/Queensland');
echo time();
echo "\n";

/* Using date() function passing timestamp parameter */

date_default_timezone_set('UTC');
echo date('Y-m-d H:i:s',time());
echo "\n";
date_default_timezone_set('Australia/Queensland');
echo date('Y-m-d H:i:s',time());
echo "\n";


/* Using date() function without passing timestamp parameter */

date_default_timezone_set('UTC');
echo date('Y-m-d H:i:s');
echo "\n";
date_default_timezone_set('Australia/Queensland');
echo date('Y-m-d H:i:s');
echo "\n";
1297799809 == 1297799809

2011-02-15 19:56:49 (UTC) == 2011-02-16 05:56:49 (Austria/Queensland)