Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么strotime在php中返回负值?_Php_Date_Strtotime_Mktime - Fatal编程技术网

为什么strotime在php中返回负值?

为什么strotime在php中返回负值?,php,date,strtotime,mktime,Php,Date,Strtotime,Mktime,我正在使用strotime将日期转换为unixtime戳记。 Year、date和day作为不同的值来编码,我使用下面的代码来生成时间戳 $year = '1961'; $month = '2'; $day = '15'; $date = $year."-".$month."-".$day; echo strtotime($date); 上面的代码为我打印:-27648000。如果年份高于1970年,则打印出积极的结果。如果有人能帮我的话,我仍在学习时间戳。主要目的是将日期转换为u

我正在使用strotime将日期转换为unixtime戳记。 Year、date和day作为不同的值来编码,我使用下面的代码来生成时间戳

$year  = '1961';
$month = '2';
$day   = '15';

$date  = $year."-".$month."-".$day;

echo strtotime($date);
上面的代码为我打印:-27648000。如果年份高于1970年,则打印出积极的结果。如果有人能帮我的话,我仍在学习时间戳。主要目的是将日期转换为unix时间戳

$year  = '1961';
$month = '2';
$day   = '15';

$date  = $year."-".$month."-".$day;

echo strtotime($date);
问题是为什么它会产生负面结果,我是否把它编码得很糟糕!?我也试过了,但还是一样的结果

谢谢,
Tanmay

Unix时间从Unix时代开始,即1970年1月1日午夜。因此,在此之前的任何日期都将返回负值。

Unix时间从Unix纪元开始,即1970年1月1日午夜。因此,在此之前的任何日期都将返回负值。

这与Unix纪元有关

见:和


时间戳的有效范围通常是从1901年12月13日星期五20:45:54 GMT到2038年1月19日星期二03:14:07 GMT(这些日期对应于32位有符号整数的最小值和最大值)。然而,在PHP5.1.0之前,在某些系统上,这个范围从1970年1月1日到2038年1月19日被限制在之内,这与Unix时代有关

见:和


时间戳的有效范围通常是从1901年12月13日星期五20:45:54 GMT到2038年1月19日星期二03:14:07 GMT(这些日期对应于32位有符号整数的最小值和最大值)。但是,在PHP5.1.0之前,在某些系统上,此范围从1970年1月1日到2038年1月19日被限制为

这是一个Unix时间戳。Unix/PHP的基准日期是1970年1月1日美国东部时间00:00,时间戳以秒为单位。如果为负数,则为基准日期前的秒数;如果为正,则这是Unix时间戳之后的秒数。Unix/PHP的基准日期是1970年1月1日美国东部时间00:00,时间戳以秒为单位。如果为负数,则为基准日期前的秒数;如果为正,则为预期行为后的秒数


返回UNIX时间戳,即自1970年1月1日以来的秒数(不考虑闰秒)。对于在此之前的日期,它将返回一个负数。

这是预期的行为

返回UNIX时间戳,即自1970年1月1日以来的秒数(不考虑闰秒)。对于在此之前的日期,它将返回负数

我还在用时间戳学习

谷歌
unix时间戳
->

定义为自年月日午夜前协调世界时(UTC)起经过的秒数 1970年1月1日

我还在用时间戳学习

谷歌
unix时间戳
->

定义为自年月日午夜前协调世界时(UTC)起经过的秒数 1970年1月1日

Unix时间或POSIX时间是一种用于描述时间点的系统,定义为自1970年1月1日午夜前协调世界时(UTC)以来经过的秒数,不包括闰秒。它被广泛使用,不仅在类Unix的操作系统中,而且在许多其他计算系统和文件格式中也有使用。它既不是时间的线性表示,也不是UTC的真实表示(尽管经常被误认为是两者),因为它所表示的时间是UTC,但不代表标准UTC闰秒(例如,1998年12月31日23:59:60)

1970年1月1日之前的时间是负值,因为它们发生在UTC开始之前。

Unix时间或POSIX时间是一种用于描述时间点的系统,定义为自1970年1月1日午夜前协调世界时(UTC)以来经过的秒数,不包括闰秒。它被广泛使用,不仅在类Unix的操作系统中,而且在许多其他计算系统和文件格式中也有使用。它既不是时间的线性表示,也不是UTC的真实表示(尽管经常被误认为是两者),因为它所表示的时间是UTC,但不代表标准UTC闰秒(例如,1998年12月31日23:59:60)


1970年1月1日之前的时间是负值,因为它们发生在UTC开始之前。

感谢您的解释和php手册的链接。这确实有助于更好地理解时间戳@各位,谢谢你们的时间和对我学习生活的支持。这让我更加好奇,所以有没有办法获得1901年之前的时间戳,我尝试使用strotime,但它总是返回0。有没有办法获取以前日期的时间戳?UNIX时间戳在32位计算机上仅限于32位整数,因此有效范围为1901-2038左右。如果需要更大的范围或移动到64位平台,请改用。谢谢你的答复。我也环顾四周,发现了一个ADODB库,它会给我超出范围的时间戳。我也不知道它是如何工作的。我只是想在这里提一下,这样可以帮助一些人。谢谢,除了上面的评论之外,还有一个对我很有用的zip文件adodb-time.inc.php。谢谢你的解释和php手册的链接。这确实有助于更好地理解时间戳@各位,谢谢你们的时间和对我学习生活的支持。这让我更加好奇,所以有没有办法获得1901年之前的时间戳,我尝试使用strotime,但它总是返回0。有没有办法获取以前日期的时间戳?UNIX时间戳在32位计算机上仅限于32位整数,因此有效范围为1901-2038左右。如果需要更大的范围或移动到64位平台,请改用。谢谢你的答复。我也环顾四周,发现了一个ADODB库,它会给我超出范围的时间戳。我也不知道它是如何工作的。就在这里提一下,所以