获取javascript中最后36小时的时间戳&;将其与php时间戳进行比较

获取javascript中最后36小时的时间戳&;将其与php时间戳进行比较,javascript,php,mysql,date,datetime,Javascript,Php,Mysql,Date,Datetime,我有一个网格,其中每一行都显示一个PHP格式('Y-m-dh:I:s')日期。我想应用一个javascript过滤器,只显示那些时间戳超过36小时的行 首先获得36小时时间戳的最佳方法是什么&然后使用javascript将该时间戳与显示的PHP时间戳进行比较 到目前为止,我尝试使用下面的代码来获得36个时间戳 var mydate=new Date(); mydate.setHours(mydate.getHours()-36); dateInPhpFormat=mydate.getFullYe

我有一个网格,其中每一行都显示一个PHP格式('Y-m-dh:I:s')日期。我想应用一个javascript过滤器,只显示那些时间戳超过36小时的行

首先获得36小时时间戳的最佳方法是什么&然后使用javascript将该时间戳与显示的PHP时间戳进行比较

到目前为止,我尝试使用下面的代码来获得36个时间戳

var mydate=new Date();
mydate.setHours(mydate.getHours()-36);
dateInPhpFormat=mydate.getFullYear()+'-'+mydate.getMonth()+'-  '+mydate.getDate()+" 
"+mydate.getHours()+":"+mydate.getMinutes()+":"+mydate.getSeconds();   
当我打印DateInHPFormat时,它会显示错误的日期。
任何帮助都将不胜感激。

JavaScript日期对象出于某种原因使用以零为基础的月份。尝试将
1
添加到月份

dateInPhpFormat = mydate.getFullYear() + '-' + (mydate.getMonth() + 1 ) +'-'+mydate.getDate() + " " + mydate.getHours() + ":" + mydate.getMinutes() + ":" + mydate.getSeconds();

唯一可能出错的是,Javascript提供了月份、日期、分钟和秒,但没有前导零。此外,月份是以零为基础的,因此需要在月份中添加1

例如,JS:3中的月份,PHP中的月份(带'm'):03

您可以自己添加这个前导零,如下所示

var mydate=new Date();
mydate.setHours(mydate.getHours()-36);

var month = ('0' + (mydate.getMonth() + 1)).substr(-2);
var day = ('0' + mydate.getDate()).substr(-2);
var hour = ('0' + mydate.getHours()).substr(-2);
var minute = ('0' + mydate.getMinutes()).substr(-2);
var second = ('0' + mydate.getSeconds()).substr(-2);

dateInPhpFormat = mydate.getFullYear() + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;

这将为您提供一个日期字符串,它与php
date('Y-m-dh:i:s')

相同,表示错误的日期有点模糊。你能把你现在拥有的东西和你想要的东西进行对比吗?使用
moment.js
PHP使用秒,js使用毫秒。如果不做一些调整,就不能直接在另一种语言中使用任何一种语言的时间戳。