首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >倒计时到某一日期并添加x小时

倒计时到某一日期并添加x小时
EN

Stack Overflow用户
提问于 2016-04-03 21:35:14
回答 1查看 675关注 0票数 1

定时器主

代码语言:javascript
复制
    $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秒

代码语言:javascript
复制
$(document).ready(function(){
    var timerText = $("[timer]");

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

你想实现什么?

其思想是当用户保留一项时,将过期日期设置到数据库中,以便保留该项的用户不能永远持有该项目。例如:

用户A:保留项目A。 服务器$database->insert(“订票”,$curDate); 服务器2016-04-03 16:00:00 ( 30分钟后此项目过期)

后端应该发生的事。

你试过什么?

我已经做了大量的谷歌搜索,看看如何将x小时或分钟添加到当前日期,并将其传递给unix时间戳。

你有什么问题?

每当我尝试上面的代码时,它都能工作,但是没有得到我需要的正确输出。具体来说,问题是在$timecountdownend = strtotime($curDate) + strtotime("+1 hours");

**新**

代码语言:javascript
复制
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秒(卡住)。它是精确的,但它没有计算下来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-03 21:40:20

你考虑过http://php.net/manual/en/datetime.add.php吗?

唯一棘手的部分是理解这种语法是如何工作的:$date->add(new DateInterval('P7Y5M4DT4H3M2S')); P7意味着添加7年H3意味着添加3个小时

一旦您在数据库中保存或更新了日期,请与响应一起发送一个副本,并在您的最终响应文档中放置如下:

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

您需要从CDN发出这些调用,或者从git获取脚本。

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36391502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档