亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用數組和映射方法將日期添加到日期數組

使用數組和映射方法將日期添加到日期數組

至尊寶的傳說 2022-10-27 15:45:43
我正在編寫一個腳本,在該腳本中我試圖使用數組和映射方法將 numdays 添加到谷歌表格中的數組中。下圖是數據示例function new_date() {var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();var lastRow = ss.getMaxRows();  var data = ss.getRange(2, 5, lastRow).getValues();  // Logger.log(data)var newData = data.map(adding_days);ss.getRange(2, 5, lastRow).setValues(newData); }function adding_days(row){   var millis_per_day = 1000 * 60 * 60 * 24;  var days = 7 ;     var date = new Date(row[0]);  var date2 = Utilities.formatDate(date, "GMT+05:30" , "MM-dd-yyyy");    var numdays = days * millis_per_day    return [ date2 + numdays ];  }當我運行代碼時,它只以另一種格式再次返回數據,我不明白為什么它不能將 numdays 添加到數據中。我是在應用程序腳本中使用數組的新手,所以我對這里出了什么問題感到非常困惑。提前致謝!
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

將年、月、日、小時、分鐘、秒和毫秒添加到日期


在這種特殊情況下,天數:


function new_date() {

  const ss=SpreadsheetApp.getActive()

  const sh=ss.getActiveSheet();

  const v=sh.getRange(2,5,sh.getLastRow()-1,1).getValues();

  const ndt=v.map(function(r,i){

    let dt=new Date(r[0]);

    let days=7;

    return [new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()+days,dt.getHours(),dt.getMinutes(),dt.getMilliseconds())];

  });

  sh.getRange(2,5,ndt.length,ndt[0].length).setValues(ndt);

}

以毫秒為單位添加日期值的問題在于它確實補償了閏年等特殊情況。雖然這需要很長的一行,但它現在允許您通過簡單的整數數學將天數和小時數等直接添加到日期,方法是將其添加到日期構造函數的適當部分。


日期構造函數


查看完整回答
反對 回復 2022-10-27
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號