首页>Program>source

什么是最佳的方式 ?

compare two dates

我看到了.toString()选项,但这似乎仅对==或===运算符有效.

这件事有什么清楚的吗?

var int = e.parameter.intlistbox; var startDate = rSheet.getRange(parseInt(int) + 1 ,1).getValues(); // returns Sat Jun 30 2012 00:00:00 GMT-0300 (BRT) var toDay = new Date(); // Sat Jun 23 2012 22:24:56 GMT-0300 (BRT) if (startDate > toDay){ ....
最新回答
  • 7天前
    1 #

    Date 对象具有 valueOf 该方法返回自1970-01-01午夜以来的毫秒数.您可以使用它来比较日期.像

    var date01 = new Date();
    var date02 = new Date(2012, 5, 24);
    if (date01.valueOf() > date02.valueOf()) {
       ....
    }
    

  • 7天前
    2 #

    有人在不久前发布了此信息,我发现它非常有帮助

    function testDate() {
        var futureDate = new Date('8/31/2020');
        var todayDate = new Date();
        Logger.log(DateDiff.inMonths(todayDate, futureDate));
        Logger.log(DateDiff.inYears(todayDate, futureDate));             
    }
    var DateDiff = {    
        inDays: function(d1, d2) {
            var t2 = d2.getTime();
            var t1 = d1.getTime();
            return parseInt((t2-t1)/(24*3600*1000));
        },
        inWeeks: function(d1, d2) {
            var t2 = d2.getTime();
            var t1 = d1.getTime();
            return parseInt((t2-t1)/(24*3600*1000*7));
        },
        inMonths: function(d1, d2) {
            var d1Y = d1.getFullYear();
            var d2Y = d2.getFullYear();
            var d1M = d1.getMonth();
            var d2M = d2.getMonth();
            return (d2M+12*d2Y)-(d1M+12*d1Y);
        },
        inYears: function(d1, d2) {
            return d2.getFullYear()-d1.getFullYear();
        }
    }
    

  • 7天前
    3 #

    // Date, Date -> Number
    // Get the number of days between two dates
    test("Date Diff In Days", 5, function(){
      ok(DateDiffInDays(new Date("January 1, 2000"), new Date("January 1, 2000")) == 0, "Ok");
      ok(DateDiffInDays(new Date("January 1, 2000"), new Date("January 2, 2000")) == 1, "Ok");
      ok(DateDiffInDays(new Date("January 1, 2000"), new Date("January 11, 2000")) == 10, "Ok");
      ok(DateDiffInDays(new Date("January 11, 2000"), new Date("January 1, 2000")) == -10, "Ok");
      ok(DateDiffInDays(new Date("January 1, 2000"), new Date("April 10, 2000")) == 100, "Ok");
    });
    
    function DateDiffInDays(a, b) 
    {
      var _MS_PER_DAY = 1000 * 60 * 60 * 24;
      // Discard the time and time-zone information.
      var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
      var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());
      return Math.floor((utc2 - utc1) / _MS_PER_DAY);
    }
    

  • 7天前
    4 #

    哇,我来晚了.我发现将日期转换为一年中的整数最简单.因此1月1日为1,2月1日为32,依此类推。

    这是脚本:

    today = parseInt(Utilities.formatDate(new Date(),"EST","D"));
    

    如果您要从电子表格中获取一个值,只需将该值放入新的Date()中即可。

    today = parseInt(Utilities.formatDate(new Date(rSheet.getRange(parseInt(int) + 1 ,1).getValues()),"EST","D"));
    

  • 7天前
    5 #

    Date对象可以像其他任何变量一样进行比较.唯一棘手的事情是,例如,如果您需要在同一天比较两个日期,并希望获得日期A =日期B,在这种情况下,您会遇到问题,因为日期还包括小时和分钟(以及秒+毫秒)! (这就是为什么我建议您在引用的文章中使用字符串检查是否相等)。 您可以做的是将两个变量的小时,分​​钟,秒和毫秒都设置为0,这样比较仅在日,月,年进行。 请参阅w3schools日期参考页以了解操作方法。

    另一种可能性是使用 Utilities.formatDate()将两个日期都转换为字符串 和 substrings()一起玩 获取所需的数据,但我想这不是一种非常优雅的方式;-)

  • c++:sizeof有什么作用?
  • objective c:NSTimeInterval到NSDate