gpt4 book ai didi

php - PHP 中的日期不准确

转载 作者:可可西里 更新时间:2023-11-01 00:48:24 24 4
gpt4 key购买 nike

我有这个代码:

$expiration_date='2041-07-14'
$epoch_timestamp_expiration_date = strtotime($expiration_date);
//Get 7 days
$seven_days_ago=7*86400;
//subtract seven days from the expiration date.
$epoch_timestamp_expiration_date-=$seven_days_ago;
//Format the new expiration date - 7 days ago
$formatted_epoch_time=date('Y-m-d',$epoch_timestamp_expiration_date);
//Todays format.
$today=date('Y-m-d', time());
//Todays miliseconds
$today_secs=strtotime($today);
//Subtracting expiration date in epoch secs from todays secs
$diff_secs = abs($epoch_timestamp_expiration_date-$today_secs);
//Finding the number of days between the two
$days=floor($diff_secs/86400);
//Printing output
echo "<br/><br/>Days: ". $days;
echo "<br/><br/>Today: ".$today;
echo "<br/><br/>Expiration Date : ".$expiration_date;
echo "<br/><br/>Expiration Date 7 days ago: ".$formatted_epoch_time ;

//Is cache near to expire. 7 days closer to the expiration date.
if ($epoch_timestamp_expiration_date>$today_secs) {
echo "<br/><br/>The site isnt about to expire ";
return "<br/><br/>Cache date isnt about to expire ".$days;
}

当输出得到回应时,我得到这个:

Days: 15634

Today: 2012-10-14

Expiration Date : 2041-07-14

Expiration Date 7 days ago: 1969-12-25

为什么?

现在如果我交换参数的值:

$expiration_date='2013-07-14';

我得到:

Days: 266

今天:2012-10-14

截止日期:2013-07-14

7 天前到期:2013-07-07

网站不会过期

最佳答案

这是因为 expiration_date 超出了 Unix 时间戳 (2038-01-19): http://en.wikipedia.org/wiki/Unix_time

http://php.net/manual/en/function.date.php

“时间戳的有效范围通常是从格林威治标准时间 1901 年 12 月 13 日星期五 20:45:54 到格林威治标准时间 2038 年 1 月 19 日星期二 03:14:07。(这些日期对应于最小值和最大值对于 32 位有符号整数)。但是,在 PHP 5.1.0 之前,在某些系统(例如 Windows)上,此范围限制为 01-01-1970 到 19-01-2038。”

关于php - PHP 中的日期不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12883317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com