gpt4 book ai didi

php - 倒计时到某个日期并添加 x 小时

转载 作者:行者123 更新时间:2023-11-28 23:33:55 24 4
gpt4 key购买 nike

定时器主

    $curDate = date("Y-m-d H:i:s", strtotime("-8 hours"));

$timecountdownend = strtotime($curDate) + strtotime("+1 hours");
$timecountdownstart = strtotime("-8 hour");
$timeleft = $timecountdownend - $timecountdownstart;

if (isset($_POST['type']) && $_POST['type'] == "timerupdate") {
echo $timeleft;
}
?>

定时器更新 5 秒

$(document).ready(function(){
var timerText = $("[timer]");

setInterval(function(){
$.post("timer.php", {type: "timerupdate"}, function(data){
timerText.html("Time Left:" + data + " seconds timer.")
});
}, 5000);
});

您想要实现什么目标?
这个想法是当用户预订一个项目时,到期日期被设置到数据库中,这样预订该项目的用户就不能永远持有它。例如:

User A: Reserve Item A.
[SERVER] $database->insert("reservation", $curDate);
[SERVER] 2016-04-03 16:00:00 (After 30 minutes this item is expired)

后端应该发生的事情。

您尝试了什么?
我已经进行了大量的谷歌搜索,以了解如何将 x 小时或分钟添加到当前日期并将其传递成为 unix 时间戳。


你的问题是什么?
每当我尝试上面的代码时,它都可以工作,但没有提供我需要的正确输出。具体问题在于 $timecountdownend = strtotime($curDate) + strtotime("+1 hours");

** 新 **

date_default_timezone_get("America/New York");

$curDate = date("Y-m-d H:i:s", strtotime("-8 hours"));
$date = new DateTime($curDate);
date_add($date, date_interval_create_from_date_string('2 hour'));

$timecountdownend = strtotime($date->format('Y-m-d H:i:s'));
$timecountdownstart = strtotime("-8 hour");
$timeleft = $timecountdownend - $timecountdownstart;

if (isset($_POST['type']) && $_POST['type'] == "timerupdate") {
echo $timeleft;
}

输出:7200 秒(尽管卡住了)。它很精确,但不是倒计时。

最佳答案

你有没有考虑http://php.net/manual/en/datetime.add.php

唯一棘手的部分是理解此语法的工作原理:$date->add(new DateInterval('P7Y5M4DT4H3M2S')); P7 表示加 7 年 H3 表示加 3 小时

在您的数据库中保存或更新日期后,将副本连同回复一起发送,并在您的最终回复文档中放置以下内容:

https://jsfiddle.net/o740okn4/5/

您将需要从 CDN 进行这些调用或从 git 获取脚本

moment.min.js
moment-duration-format.min.js

https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.min.jshttps://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js

关于php - 倒计时到某个日期并添加 x 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36391502/

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