Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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
Javascript 日期差,多少小时过去了_Javascript_Jquery_Date - Fatal编程技术网

Javascript 日期差,多少小时过去了

Javascript 日期差,多少小时过去了,javascript,jquery,date,Javascript,Jquery,Date,我正在用JQuery在我的网站上建立一个Instagram订阅源,我想展示这篇文章以一种简短的形式提交了多长时间,比如:23H或2D或3M或1Y,这取决于它的提交时间。我有两个date对象,但我不知道如何计算差异并按我所希望的方式显示 我对JS/Jquery还相当陌生,据我所知: var pd = new Date(postDate); var nd = new Date(); var nd = nd.getTime(); var difference = nd-pd; 如何计算以小时、天、月

我正在用JQuery在我的网站上建立一个Instagram订阅源,我想展示这篇文章以一种简短的形式提交了多长时间,比如:23H或2D或3M或1Y,这取决于它的提交时间。我有两个date对象,但我不知道如何计算差异并按我所希望的方式显示

我对JS/Jquery还相当陌生,据我所知:

var pd = new Date(postDate);
var nd = new Date();
var nd = nd.getTime();
var difference = nd-pd;
如何计算以小时、天、月和年为单位的两个日期之间的差异?


谢谢。

您可以这样做来获取发布后经过的时间

var timeDiff = Math.abs(nd.getTime() - pd.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 

您可以这样做来获取发布后经过的时间

var timeDiff = Math.abs(nd.getTime() - pd.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
你可以这样试试

var pd = new Date(postDate);
var nd = new Date();


var Hours = nd.getHours() - pd.getHours();
var Days  = nd.getDay() - pd.getDay();
var Months = nd.getMonth() - pd.getMonth();
var Years  = nd.getYear() - pd.getYear();
或者得到毫秒差

var miliseconds = (nd - pd).getTime(); //gets time  in miliseconds since 1/1/1970
然后用你的逻辑来计算小时、天、月和年

你可以看看这个

应收账款日期1=新日期(“2012年11月7日20:30:00”); var date2=新日期(“2012年11月20日19:15:00”)

var diff=date2.getTime()-date1.getTime()

变量天数=数学下限(差值/(1000*60*60*24)); 差值-=天*(1000*60*60*24)

var小时=数学楼层(差值/(1000*60*60)); 差异-=小时*(1000*60*60)

var mins=数学层(差值/(1000*60)); 差异-=分钟*(1000*60)

var秒=数学地板(差值/(1000)); 差值-=秒*(1000)

日志(天+天+小时+小时+分钟+秒+秒)

你可以这样试试

var pd = new Date(postDate);
var nd = new Date();


var Hours = nd.getHours() - pd.getHours();
var Days  = nd.getDay() - pd.getDay();
var Months = nd.getMonth() - pd.getMonth();
var Years  = nd.getYear() - pd.getYear();
或者得到毫秒差

var miliseconds = (nd - pd).getTime(); //gets time  in miliseconds since 1/1/1970
然后用你的逻辑来计算小时、天、月和年

你可以看看这个

应收账款日期1=新日期(“2012年11月7日20:30:00”); var date2=新日期(“2012年11月20日19:15:00”)

var diff=date2.getTime()-date1.getTime()

变量天数=数学下限(差值/(1000*60*60*24)); 差值-=天*(1000*60*60*24)

var小时=数学楼层(差值/(1000*60*60)); 差异-=小时*(1000*60*60)

var mins=数学层(差值/(1000*60)); 差异-=分钟*(1000*60)

var秒=数学地板(差值/(1000)); 差值-=秒*(1000)


日志(天+天+小时+小时+分钟+秒+秒)

用日期做任何事情通常都是痛苦的。 如果您没有承诺使用这种确切的格式,您可以使用一个库来代替


或者可以用来定期更新页面上的元素,因此,如果用户让页面打开几分钟,时间戳就会累加。

对日期做任何事情通常都是痛苦的。 如果您没有承诺使用这种确切的格式,您可以使用一个库来代替


或者可以用于定期更新页面上的元素,因此,如果用户将页面打开几分钟,时间戳将累计。

我的解决方案是脏的,但直接的:自己计算

记录开始时间:

var BEGIN_TIME=new Date();
var HOUR=BEGIN_TIME.getHours();
var MINUTE=BEGIN_TIME.getMinutes();
var SECOND=BEGIN_TIME.getSeconds();
然后做一些数学题

  var today=new Date();
  h=today.getHours();
  m=today.getMinutes();
  s=today.getSeconds();

  s = s - SECOND;
  if (s<0) { s=s+60; m=m-1; }
  m = m - MINUTE;
  if (m<0) { m=m+60; h=h-1; }
  h = h - HOUR;
var today=新日期();
h=今天。getHours();
m=今天。getMinutes();
s=today.getSeconds();
s=s秒;

如果(s我的解决方案不干净但直接:自己计算

记录开始时间:

var BEGIN_TIME=new Date();
var HOUR=BEGIN_TIME.getHours();
var MINUTE=BEGIN_TIME.getMinutes();
var SECOND=BEGIN_TIME.getSeconds();
然后做一些数学题

  var today=new Date();
  h=today.getHours();
  m=today.getMinutes();
  s=today.getSeconds();

  s = s - SECOND;
  if (s<0) { s=s+60; m=m-1; }
  m = m - MINUTE;
  if (m<0) { m=m+60; h=h-1; }
  h = h - HOUR;
var today=新日期();
h=今天。getHours();
m=今天。getMinutes();
s=today.getSeconds();
s=s秒;

如果(sLeap)年使其显著不平凡且月长不同。闰年使其显著不平凡且月长不同。