首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将javascript时间函数转换为php

将javascript时间函数转换为php
EN

Stack Overflow用户
提问于 2017-06-02 13:58:38
回答 4查看 76关注 0票数 0

我有一个工作的javascript代码,我使用在网页上设置一个按钮的文本。按钮的文本以24小时格式显示时间,增加1小时30分钟,四舍五入到最接近的5分钟。由于我需要在php代码片段中使用所产生的时间,单击按钮,我需要将代码转换为php语法,以获得相同的结果。

举个例子,如果现在是15:17,结果应该是16:50。

代码语言:javascript
复制
<SCRIPT>
    var today = new Date();
    today.setHours(today.getHours() + 1);
    today.setMinutes(today.getMinutes() + 30);
    var coeff = 1000 * 60 * 5;
    var date = "09:07:00";  //or use any other date
    var rounded = new Date(Math.round(today.getTime() / coeff) * coeff)
    var tid_1hour30min_from_now = rounded.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
    var tid_hour = rounded.getHours();
    var tid_minutes = rounded.getMinutes();
    var ater = "Åter"
    var result1hour30minfromnow = ater +" "+ tid_1hour_from_now
</SCRIPT>

因此,我想做同样的,但在php中。

一直在尝试使用模拟代码来实现以下目标:

代码语言:javascript
复制
$startTime = date("Y-m-d H:i:s");
$cenvertedTime = date('Y-m-d H:i:s',strtotime('+1,5 
hour',strtotime($startTime)));

$current_time = strtotime($cenvertedTime);

$frac = 900;
$r = $current_time % $frac;

$new_time = $current_time + ($frac-$r);
$new_date = date('Y-m-d g:i:s A', $new_time);

但是结果不太好,我更新了上面两个脚本中相同的时间。如何将javascript翻译得尽可能接近php?

/克里斯蒂安

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-06-02 14:13:12

它也可以使用"normal“date()函数来完成。

代码语言:javascript
复制
$startTime = strtotime(date("Y-m-d H:i:s"))+90*60; // add 90 minutes times 60 seconds to UNIX time.
$NewMinute = round(date("i", $startTime)/5)*5; // find new minute by rounding on "5"

echo date("Y-m-d H:", $startTime) .str_pad($NewMinute, 2, "0", STR_PAD_LEFT);

https://3v4l.org/fkGbQ

票数 1
EN

Stack Overflow用户

发布于 2017-06-02 14:10:44

因此,如果您希望在php脚本中单击按钮中按钮的相同时间值,则可以使用ajax将时间值发送到php文件。

要使用JQuery插件,请将其包括在下面一行

代码语言:javascript
复制
<script src="http://code.jquery.com/jquery-latest.js"></script>

然后使用下面的代码将时间值使用ajax发送到php文件,单击按钮

代码语言:javascript
复制
var btn_date = $('#btn_id').text();
$.ajax({
    url: "phpfile.php",
    type: "post",
    data: "date_val="+btn_date,
    success: function(data) {
            $('.status_text').html(data);
        }
});
票数 0
EN

Stack Overflow用户

发布于 2017-06-02 14:11:51

如果我正确地阅读了代码,您希望将1小时30分钟的时间添加到当前时间。使用DateTimeDateInterval对象可以很容易地做到这一点。下面的代码将1/2小时添加到当前时间,并输出小时(24)和分钟。

代码语言:javascript
复制
$date = new DateTime();
$date->add(new \DateInterval("PT1H30M")); // add 1,5 hour
$date->format("H:i");

如果您想要其他格式,请查看日期格式

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

https://stackoverflow.com/questions/44330749

复制
相关文章

相似问题

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