![](/img/trans.png)
[英]How Can I check selected date is in current week or not in JavaScript?
[英]How can I check if a date in a cell is this week? Script not sheet function
我正在嘗試檢查 A 列中的日期是否為本周,然后顯示該行。
我的問題是我的變量“t”在調試器中未定義,運行時出現以下錯誤...
異常:無效參數:日期。 應該是類型:日期
function weekNumberTest()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("Test");
var v = s.getRange("A1:A").getValues();
var data = Utilities.formatDate(new Date(), "GMT", "w");//Exception: Invalid argument: date. Should be of type: Date
for (var i = s.getLastRow(); i > 2; i--)
{
var t = v[i ];
if (t != "")
{
var testDateCell=Utilities.formatDate(t, "GMT", "w");
if (testDateCell==data )
{
s.showRows(i);
}
}
}
}
function weekNumberTest() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Test");
const vs = sh.getRange(2,1,sh.getLastRow()-1).getValues().flat();
const wk = parseInt(Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone(), "w"));
vs.forEach((d,i) => {
let w =parseInt(Utilities.formatDate(new Date(d),ss.getSpreadsheetTimeZone(),"w"));
if(w == wk || w == wk - 1) {//try this for last two weeks. This may not work at beginning of year...I don't know for sure.
sh.showRows(i + 2);
} else (
sh.hideRows(i + 2)
)
});
}
function weekNumberTest() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("Test");
var v = s.getRange("A1:A").getValues();
var data = Utilities.formatDate(new Date(), "GMT", "w");
for (var i = s.getLastRow(); i > 2; i--) {
var t = new Date(v[i][0]); // <---------------- the error was here
if (t != "") {
var testDateCell = Utilities.formatDate(t, "GMT", "w");
if (testDateCell == data) {
s.showRows(i);
}
}
}
}
要獲取本周和上周的日期,您可以這樣更改一行:
if (testDateCell == data || testDateCell == data-1) {
解釋
var v = s.getRange("A1:A").getValues();
它為您提供了一個二維數組[[a],[b],[c]]
。 要從二維數組中獲取值,您需要使用兩個索引: v[0][0]
、 v[0][1]
、 v[0][2]
。
或者,您可以使用flat()
方法以這種方式將二維數組轉換為一維數組: var v = s.getRange("A1:A").getValues().flat();
. 在這種情況下,您可以使用一個索引來尋址數組的值: v[0]
、 v[1]
、 v[2]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.