如何在javascript中比较日期时间

时间:2013-09-23 15:38:38

标签: javascript datetime

我一直在努力让代码工作超过2个小时,然后我尝试了这个网站,这里有很多代码!我已经使用了它们。有些是jQuery,有些是纯JavaScript

以下是我尝试过的两个代码:

第一个代码:此代码来自此链接:https://stackoverflow.com/a/2725097/1762944

var dateTimeStr = "17:10:03";
var user_time = DateTime.Parse( dateTimeStr );
var time_now = DateTime.Now;
if( time_now > user_time )
 {
  // your code...
 }

第二个代码:这个是jQuery。它对提问者起作用,也被标记为答案。它有效我检查了他提供的小提琴!但是当我尝试代码时,它也没有用。在这里:

function time_until() {
 currentTime = Math.floor(jQuery.now() / 1000);
 seconds = eventTime - currentTime;
   if(second == 0){
    //Stop voting
   }
 days = Math.floor(seconds / (60 * 60 * 24));
  $('#time').html('seconds ' + seconds + '<br/>days ' + days);
}

我试过编辑它们。但它们不起作用。

他们工作的原因:这一切背后的原因是,我想做的是,

  1. 我有一个数据库表,用于存储用户的时间。我的意思是当他们开展活动时,比如发布状态更新!

  2. 我创建了一个时间戳。完全如下所示:few seconds ago

  3. 现在我想要的是,在不重新加载页面的情况下将时间更新为1 minute ago,就像Facebook一样。或者无论何时,都要更新到下一分钟或者一小时或相应的时间。

  4. 我所尝试的几乎就是一切。但我想我的代码唯一的问题是,当我将数据库中的DateTime.Now值放入其中时,它会显示错误。该错误是隐藏的,因此我创建了一个else语句,如下所示:

    if(seconds < 60) {
      $("#jstime").html(seconds + "seconds..");
    // else if minutes, if hours they are all written..and then an else 
    } else {
     $("#jstime").html("Again an error, try again bud");
    }
    

    我有一个setInterval,它会继续使用错误文本更新ID。

    这是我正在使用的代码。

    <span id="timeval" title="@timeStamp">@TimeStamp</span></div>
    <input type="hidden" id="time" value="9/23/2013 8:10:40 PM" />
    <span>Real time: @TimeStamp</span><br>
    <span id="update">Updated time: no update till now;</span><br>
    <span id="jstime">Time</span>
    

    timeval是向用户显示的实时时间,input是我获得每个帖子的时间值的时间,下一个跨度只是显示时间我,我的意思是我用这个来检查页面加载的时间,update是显示更新时间的范围,jstime也可以用来显示更新的时间。

2 个答案:

答案 0 :(得分:1)

问题是你每隔n秒在你调用的函数中存储currentTime。当它被循环时,它将每次创建一个新的当前时间。

使它成为一个全局变量,这样你就可以在不创建新时间的情况下遍历函数,而是使用旧时代。

答案 1 :(得分:1)

请转到stackoverflow上的link,看看我的答案,我们如何比较两个日期以及Javascript中的时间。