2013-08-27 62 views
0

我有这个项目在我的网站上,用户可以投票在线。 现在投票结束于本月31日深夜。我不想删除我的任何安全代码,并添加一些代码将当前日期与上述日期进行比较。如果在9月1日00:00:01,用户点击投票按钮,我想显示一条消息说投票已关闭。与javascript的日期时间

我正在使用Jquery Dialog当前进行投票,所以我可以隐藏div内容并显示投票关闭消息的另一个div内容。

任何人都可以帮忙请。

感谢

我想这样

var now = new Date(); 
      var datetime = now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDay(); 
      datetime += ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds(); 

OUTPUT is: Tue Aug 27 2013 17:08:47 GMT+0100 (GMT Daylight Time) 

我不知道我怎么可以比较这一个与该投票被关闭的日期。

+4

你认识,即JavaScript的获取日期从用户PC,因此,如果有人设置的到3天前的日期 - 他们仍然可以投票? – tborychowski

+2

“你有什么尝试”......人们不在这里为你写代码。 –

+0

@tborychowski嗯......我将不得不尝试另一种解决方案。 –

回答

1

DEMO

$(document).ready(function() { 
    eventTime = Date.parse('31 August 2013')/1000; 

    function time_until() { 
     currentTime = Math.floor(jQuery.now()/1000); 

     seconds = eventTime - currentTime; 

     days = Math.floor(seconds/(60 * 60 * 24)); 
     $('#time').html('seconds ' + seconds + '<br/>days ' + days); 
    } 
    setInterval(time_until,1000) 
}); 

你的代码

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

一个简单的比较应该工作:

var sep1 = +new Date('2013-09-01T00:00:00'), // "+" operator will return unix timestamp 
    now = +new Date(); 

if (now >= sep1) { 
    // too late to vote 
} 
else { 
    // you can vote 
}