【问题标题】:How to find the number of days difference using Google Script如何使用谷歌脚本查找天数差异
【发布时间】:2015-05-28 06:14:29
【问题描述】:

我试图找出两天之间的差异,我得到的是 NaN。

function formatDate(oldFormat,duration,timestamp){
  var formattedDate = Utilities.formatDate(oldFormat, "IST","yyyy,MM,dd");
  Logger.log(timestamp);
  var newDate=new Date(timestamp*1000);
  Logger.log(newDate);
  newDate=Utilities.formatDate(newDate,"IST","yyyy,MM,dd");
  Logger.log(formattedDate);
  Logger.log(newDate);
  var date1=new Date(formattedDate).getTime();
  Logger.log(date1)
  var date2=new Date(newDate).getTime();
  Logger.log(date2)
  var diff=daydiff(date2,date1);
  Logger.log(diff);   }

 function daydiff(first, second) {
 return (second-first)/(1000*60*60*24);}

如何求两个日期的天数之差?我以这种格式约会: 日期 1 : 2015,05,12

日期2:2015,05,28

【问题讨论】:

  • 首先,您需要一个脚本,将日期格式固定为 mm/dd/yyyy。例如,您可以拉入“2015,05,28”,用逗号分隔,然后按正确顺序与“/”组合。
  • @AkshinJalilov 我这样做了,但我得到的输出为 5884。但实际输出将是 16 天,对吗?
  • 检查我的答案,因为我写了你想做的脚本。

标签: javascript date google-apps-script timestamp


【解决方案1】:

使用 Utilities.formatDate() 毫无意义,因为它旨在将普通日期转换为任何格式,而不是相反。

也不确定 (oldFormat,duration,timestamp) 代表什么。您没有在脚本中使用 duration,而且您显示的两个日期似乎是相同的格式。

如果你只是想找出两个日期之间的差异,试试这个:

function formatDate(date1,date2){
  date1 = new Date(fixDate(date1));
  date2 = new Date(fixDate(date2));
  var diff = (date2-date1)/(1000*60*60*24);
  return(diff);
}

function fixDate(date){  
    var collector = date;
    if (collector.match(",")!=null){
      collector = collector.split(",");
      var myString = [collector[1], collector[2], collector[0]].join("/");
      return myString
    }
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多