Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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 计算时差并根据时差显示弹出窗口_Php_Ajax_Codeigniter_Jquery - Fatal编程技术网

Php 计算时差并根据时差显示弹出窗口

Php 计算时差并根据时差显示弹出窗口,php,ajax,codeigniter,jquery,Php,Ajax,Codeigniter,Jquery,我正在写一个基于php和jquery的小日历,它有一个计算时差的函数,并在15分钟前显示一个弹出窗口 有人能告诉我如何计算分钟和15分钟前的时差吗 我的时间节省为 18-07-2012 15:13:54 php有一个mktime()函数(),该函数以小时、分钟、秒、月、日、年为单位,并计算自纪元(如1971年)以来的秒数。然后,您可以使用date()函数从秒数减去15*60,返回日期格式。() -编辑;修订代码如下:- function timeDiff(date1, date2){ //da

我正在写一个基于php和jquery的小日历,它有一个计算时差的函数,并在15分钟前显示一个弹出窗口

有人能告诉我如何计算分钟和15分钟前的时差吗

我的时间节省为

18-07-2012 15:13:54
php有一个mktime()函数(),该函数以小时、分钟、秒、月、日、年为单位,并计算自纪元(如1971年)以来的秒数。然后,您可以使用date()函数从秒数减去15*60,返回日期格式。()

-编辑;修订代码如下:-

function timeDiff(date1, date2){
//date format: Day-Month-Year
var dateArray = date1.split('-')
var d1 = new Date(dateArray[1]+'-'+dateArray[0]+'-'+dateArray[2])

var dateArray2 = date2.split('-')
var d2 = new Date(dateArray2[1]+'-'+dateArray2[0]+'-'+dateArray2[2])

var minutes = (d1-d2)/1000/60
return minutes;
}

if(timeDiff('18-07-2012 15:13:54', '18-07-2012 14:59:54')<=15){
alert('popup')
}
函数timeDiff(日期1,日期2){ //日期格式:日-月-年 var dateArray=date1.split(“-”) 变量d1=新日期(日期数组[1]+'-'+dateArray[0]+'-'+dateArray[2]) var dateArray2=date2.split(“-”) 变量d2=新日期(dateArray2[1]+'-'+dateArray2[0]+'-'+dateArray2[2]) 变量分钟=(d1-d2)/1000/60 返回分钟数; } 如果(timeDiff('18-07-2012 15:13:54','18-07-2012 14:59:54')检查PHP!也许它对您有帮助


代码说明:

为了得到剩余的时间,我对1970年1月1日起返回的时间(毫秒)进行了毫秒级的比较
php
从1970年1月1日开始的当前时间(单位:ms)——减去这两个值,得到毫秒差。要计算分钟差,我刚刚做了:

 var leftMin   = Math.ceil( difference/(1000*60) );
诀窍是获得正确的时间格式,并将(php)返回的时间还原为该格式。
默认格式如下:
MONTH/DAY/YEAR小时:分:秒

要将php返回的时间
'19-07-2012 03:00:00'
转换为该时间,我使用了:

var php = '19-07-2012 03:00:00'.split('-');   // split in array fractions
var phpDate   = php[1]+'/'+php[0]+'/'+php[2]; // reposition array keys and add '/'
返回:
07/19/2012 03:00:00
,现在我们可以将其与当前时间进行比较,例如:

           07/19/2012 03:45:21
要从转换的php时间中检索
ms
,我们可以使用:

var phpTime   = new Date(phpDate).getTime();  // get "ms from our string
就目前而言,我们仅采取以下措施:

var currTime  = new Date().getTime();         // get "ms from 1/1/1970
现在有了两毫秒的值,我们可以简单地减去它们得到剩余时间:

var difference= phpTime-currTime;

“并在15分钟前显示弹出窗口”在什么之前?@RokoC.Buljan,我想这是日历输入15分钟前的警报。我相信问题是,你想用哪种语言来做?Javascript?@RokoC.Buljan,因为adnan提到它是日历事件的警报。在输入之前15分钟,我想以弹出窗口的形式显示日志标题。感谢代码解释。对我的程序做了一些修改,效果非常好:)@LiveEn:)很好,很高兴你这么做了!谢谢
var currTime  = new Date().getTime();         // get "ms from 1/1/1970
var difference= phpTime-currTime;