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
在PHP中添加23小时59分钟作为unix时间戳_Php_Date_Unix_Time - Fatal编程技术网

在PHP中添加23小时59分钟作为unix时间戳

在PHP中添加23小时59分钟作为unix时间戳,php,date,unix,time,Php,Date,Unix,Time,有人能给我一个工作的例子,说明我的代码应该是什么,因为我的努力毫无结果 我现在的代码是have if (isset($_POST['startdate'])) { $startdate = DatePickerToTime($_POST['startdate']); } else { $startdate = strtotime('today midnight'); } 及 这很有效 但是,我想说,如果startdate等于enddate,那么在enddate 我已经阅读了文

有人能给我一个工作的例子,说明我的代码应该是什么,因为我的努力毫无结果

我现在的代码是have

if (isset($_POST['startdate'])) {
    $startdate = DatePickerToTime($_POST['startdate']);
} else { 
    $startdate = strtotime('today midnight');
}

这很有效

但是,我想说,如果
startdate
等于
enddate
,那么在
enddate

我已经阅读了文档,正在尝试

if($_POST['$startdate'] == $_POST['$enddate']) {
    $_POST['$enddate'] += date("h:i:sa", "23:59:59");
}

但这不起作用。

Unix时间戳以秒为单位。您可以将86340秒1添加到结束日期

$_POST['$enddate'] += 86340; // add 23h 59m
但是,正如注释中所指出的,日期和时间处理应该始终由语言自己的日期和时间逻辑来处理,以防止出现错误

我强烈建议您使用PHP的
DateTime
DateInterval
来追加时间

$date = new DateTime();
$date->setTimestamp($_POST['enddate']);
$date->add(new DateInterval('PT23H59M')); // add 23 hours and 59 minutes

$_POST['$enddate'] = $date->getTimestamp();


186340秒等于23小时59分钟,Unix时间戳以秒为单位。您可以将86340秒1添加到结束日期

$_POST['$enddate'] += 86340; // add 23h 59m
$datetime1 = date('2009-10-11 12:30:00');
$datetime2 = date('2009-10-11 12:30:00');
echo "<pre>";
if($datetime1 == $datetime2){
    echo "yes";
    echo "<br>";
    $datetime2 = date("Y-m-d H:i:s", strtotime("+23 hours 59 minutes",strtotime($datetime2)));
    echo $datetime1."===================".$datetime2;
}
else {
    echo "NO<br>";
    echo $datetime1."===================".$datetime2;
}
但是,正如注释中所指出的,日期和时间处理应该始终由语言自己的日期和时间逻辑来处理,以防止出现错误

我强烈建议您使用PHP的
DateTime
DateInterval
来追加时间

$date = new DateTime();
$date->setTimestamp($_POST['enddate']);
$date->add(new DateInterval('PT23H59M')); // add 23 hours and 59 minutes

$_POST['$enddate'] = $date->getTimestamp();

186340秒等于23小时59分钟

$datetime1=date('2009-10-11 12:30:00');
$datetime1 = date('2009-10-11 12:30:00');
$datetime2 = date('2009-10-11 12:30:00');
echo "<pre>";
if($datetime1 == $datetime2){
    echo "yes";
    echo "<br>";
    $datetime2 = date("Y-m-d H:i:s", strtotime("+23 hours 59 minutes",strtotime($datetime2)));
    echo $datetime1."===================".$datetime2;
}
else {
    echo "NO<br>";
    echo $datetime1."===================".$datetime2;
}
$datetime2=日期('2009-10-11 12:30:00'); 回声“; 如果($datetime1==$datetime2){ 回应“是”; 回声“
”; $datetime2=日期(“Y-m-d H:i:s”,标准时间(+23小时59分钟),标准时间($datetime2)); echo$datetime1。“======================”$datetime2; } 否则{ 回声“否
”; echo$datetime1。“======================”$datetime2; }
$datetime1=date('2009-10-11 12:30:00');
$datetime2=日期('2009-10-11 12:30:00');
回声“;
如果($datetime1==$datetime2){
回应“是”;
回声“
”; $datetime2=日期(“Y-m-d H:i:s”,标准时间(+23小时59分钟),标准时间($datetime2)); echo$datetime1。“======================”$datetime2; } 否则{ 回声“否
”; echo$datetime1。“======================”$datetime2; }
再次检查文档,的第二个参数是int,因此传递
“23:59:59”
无效。不要再加上23小时59分59秒,你能沿着这条路线走下去吗?
strotime(“明天午夜-1秒”)
?再次检查文档,的第二个参数是int,所以传递
“23:59:59”
。与其增加23小时59分59秒,不如沿着这条路线走下去。
strotime(“明天午夜-1秒”)
?这很少见,但我建议不要手动在日期上增加秒来尝试得到你想要的,所以,你应该始终尝试依赖内置函数的语言,这将比个人更好地解释它们。有趣的场景。我绝对相信日期和时间的处理应该由语言的内部逻辑来完成。但是,我在这里不确定,因为标题“23小时59分钟作为unix时间戳”(意思是“将时间间隔表示为日期”)。对于这个特定的问题,我假设asks以这样一种方式表示一个间隔,它可以被添加到Unix时间戳中。但是对于现实生活中的例子,我相信使用PHP的
DateTime
DateInterval
是最好的方法。+1使用DateTime/DateInterval肯定更好。知道一天有86400秒等等。。。是我过去也曾使用过的快速简单的解决方案,但在遇到奇怪的问题(如上面提到的问题)或更常见的问题(如:一个月有多少秒?)之前,你不必走得太远,但我建议不要手动在日期上添加秒数,以尝试获得您想要的内容,所以您应该始终尝试依赖内置函数的语言,这将比个人更可能更好地解释这些函数。有趣的场景。我绝对相信日期和时间的处理应该由语言的内部逻辑来完成。但是,我在这里不确定,因为标题“23小时59分钟作为unix时间戳”(意思是“将时间间隔表示为日期”)。对于这个特定的问题,我假设asks以这样一种方式表示一个间隔,它可以被添加到Unix时间戳中。但是对于现实生活中的例子,我相信使用PHP的
DateTime
DateInterval
是最好的方法。+1使用DateTime/DateInterval肯定更好。知道一天有86400秒等等。。。是我过去也曾使用过的快速简单的解决方案,但在遇到奇怪的问题(如上面提到的问题)或更常见的问题(如:一个月有多少秒?)之前,你不必走得太远。