問題:スプレッドシートは入力された日付をDate()として認識しないため、Apps Scriptでその日付の.getTime()を取得できません。スプレッドシートアプリケーションの変換日付()
質問:これはなぜですか。
結果:ここに は、私が実行しているスクリプトの一部です:dates
範囲を指し
dates.map(function(inp) {
if (inp != undefined && inp !== ""){
inp = new Date(inp.getTime() - (date.getTimezoneOffset()*60000);
return inp
}
});
:dates = sheet.getRange(2,1, lastR, 1).getValues();
現在、この範囲は2017-」の手動inputed値を持っています05-20」日付が「Sat May 20 2017 00:00:00 GMT + 0200(CEST)」と自動的に認識される
0は、次のように表示されます:TypeError: Cannot find function getTime in object Sat May 20 2017 00:00:00 GMT+0200 (CEST). (line 86, file "Code") Details Dismiss
Spreadsheetに入力値を日付としてオートコンバートすることを100万回試してみましたので、少なくともタイムスタンプや何かを作ることができます。誰がこれをやっているのか知っていますか?
これは目標に向かって動作しますが、最終的な "日付"には更新された値が表示されないという問題が残ります... [17-05-22 19:06:50:561 CEST]土曜日5月20日02:00:00 GMT + 02:00 2017 [17-05-22 19:06:50:561 CEST] -7200000.0 [17-05-22 19:06:50:562 CEST] [[最初のログは "inp"、2番目のログはTimezoneOffset、3番目のログは最終の "dates"です。何が起こっているのか知っていますか? – nikooters
私は通話なしでログを理解しています。再現可能な例を提供してもらえますか?日付はどこで定義されていますか? getTimezoneOffsetは時間ではなく分を返します。 –
'var dates = sheet.getRange(2,1、lastR、1)。getValues(); (inp!= undefined && inp!== ""){ inp = new Date(inp.getTime() - (date(inp!== "")); dates.forEach(function(row、k){ var inp = row [k] .getTimezoneOffset()* 60000)); Logger.log(inp); return inp } }); Logger.log(date.getTimezoneOffset()* 60000); Logger.log(dates); ' – nikooters