【问题标题】:Timestamp troubles with JavaScriptJavaScript 的时间戳问题
【发布时间】:2013-02-25 14:23:54
【问题描述】:

所以我只想找出日期是在今天之前还是将来的一天。所以基本上我有这个结构:

function data(startdate, enddate)
{
    var that = this;
    start = startdate;
    end = enddate;

    var today = new Date();
    today = today.getTime();
    today = Date.parse(today);

    this.status = false; // True = Server is in maintenance
    this.init = function()
    {
        isDone();
    }
    function isDone(){
        if( Date.parse(start) < today && today < Date.parse(end))
        {       
            that.status = true;
            console.log(that.status);
        }else
        {
            that.status = false;
            console.log(that.status);
        }
    }
}

比我这样称呼它:

var x1 = new Date(2013,2,23,12,3,45);
var x2 = new Date(2013,2,27,12,3,45);

var foobar = new data(x1,x2);
foobar.init();

所以试图弄清楚javascript创建了什么:

start:1364036625000 
end: 1364382225000 
today: 1361796935000 

我也将其解析回标准格式:

start:Sat Mar 23 2013 12:03:45 GMT+0100 
end:Wed Mar 27 2013 12:03:45 GMT+0100 
today:Mon Feb 25 2013 13:54:56 GMT+0100

所以我不知道如何修复它或它如何工作......

【问题讨论】:

  • today = Date.parse(new Date().getTime()); 看起来很糟糕。它应该做什么?
  • 您注意到startend 在三月了吗?
  • 它的目的是获取当前时间并解析成秒。不,我没注意到:C 大失败...
  • 我猜你的意思是毫秒。而且您不需要这样做,当对 Date 对象进行数学运算时,它会自动完成(-*&lt;,...)。 Date.parse 需要字符串,而不是 Date 对象。

标签: javascript date timestamp


【解决方案1】:

您的问题没有明确说明,但您似乎忘记(或忽略)月份在 javascript 中是零索引的。二月是1

【讨论】:

  • 大多数在 Java 或 JavaScript 中使用日期的程序员至少被这种索引所困扰...
猜你喜欢
  • 2021-11-10
  • 2011-03-16
  • 1970-01-01
  • 2021-09-25
  • 2017-04-02
  • 2010-11-22
相关资源
最近更新 更多