2

我一直试图让代码工作超过 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 那样。或者无论时间是什么,都可以更新到下一分钟或一小时或相应的时间。

我尝试过的几乎是所有东西。但我想我的代码的唯一问题是,当我将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是显示更新时间的span,jstime也可以用来显示更新时间。

4

2 回答 2

1

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

将其设为全局变量,这样您就可以在不创建新时间的情况下循环遍历该函数,而是使用旧时间。

于 2013-09-23T15:43:53.840 回答
1

请转到stackoverflow 上的链接,并查看我关于如何比较两个日期和 Javascript 中的时间的答案。

于 2014-02-18T13:22:34.013 回答