我正在嘗試設定一個 const "Yesterday",但該腳本未被識別為函式(我正在使用 Google App Scripts)。我嘗試了不同的語法,包括:
const yesterday = today.setDate(-1);
和
const yesterday = new Date(today.setDate(-1));
但都沒有奏效。我很確定這應該是一個小改動,但我不知道如何解決這個問題。一點幫助將不勝感激,謝謝!
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('My Report');
function insertColumn() {
const range = sheet.getRange('H1:H69').getValues();
const newrange = sheet.getRange('I1:I69');
const rules = sheet.getConditionalFormatRules();
const today = Utilities.formatDate(new Date(), "GMT 7", "MM/dd/yyyy");
const yesterday = new Date(today.setDate(-1));
uj5u.com熱心網友回復:
你的問題是它today不是一個Date物件,因為你已經呼叫Utilities.formatDate了它。這就是為什么您在嘗試使用today.setDate(). 因此,您需要使用另一個變數來計算yesterday. 例如:
const tmp = new Date();
const yesterday = new Date(tmp.setDate(tmp.getDate()-1))
另請注意,setDate(-1)將日期設定為上個月的倒數第二天(例如,當您在 4 月時為 3 月 30 日),您需要獲取當前日期(使用getDate)并從中減去 1 以獲得昨天的日期。
uj5u.com熱心網友回復:
getYesterday() {
let date = new Date();
let yesterday_milliseconds = date.getTime() - 1000 * 60 * 60 * 24;
let yesterday = new Date();
yesterday.setTime(yesterday_milliseconds);
let strYear = yesterday.getFullYear();
let strDay = yesterday.getDate();
let strMonth = yesterday.getMonth() 1;
if (strMonth < 10) {
strMonth = "0" strMonth;
}
if (strDay < 10) {
strDay = "0" strDay;
}
return strYear "-" strMonth "-" strDay;
},
uj5u.com熱心網友回復:
function yesterday() {
let dt = new Date();
Logger.log(new Date(dt.setDate(dt.getDate() - 1)));
}
從 MDN setDate() 回傳:1970 年 1 月 1 日 00:00:00 UTC 和給定日期之間的毫秒數......不是日期物件
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/459008.html
標籤:javascript 日期 谷歌应用脚本
上一篇:DayJS歷史日期格式問題
