こんにちはスプレッドシートのGOOGLECLOCK()は何時ですか?
ドキュメントから、GoogleClockは「コンピュータシステムに応じて現在の日付と時刻を返します」(引用)ことを知っています。
しかし、スプレッドシートが時間駆動型トリガーによってクライアント側で開かれる場合はどうでしょうか。GoogleClock()は何時になりますか?
何かアイデアがあれば教えてください。見てくれてありがとう。
こんにちはスプレッドシートのGOOGLECLOCK()は何時ですか?
ドキュメントから、GoogleClockは「コンピュータシステムに応じて現在の日付と時刻を返します」(引用)ことを知っています。
しかし、スプレッドシートが時間駆動型トリガーによってクライアント側で開かれる場合はどうでしょうか。GoogleClock()は何時になりますか?
何かアイデアがあれば教えてください。見てくれてありがとう。
すばやく簡単にテストできます。これは、ドキュメントが混乱していて、おそらく間違っていることを示しています。(しかし、それはインターネット上にあるので、それは真実でなければなりません!)
セルA1の数式をに設定しGoogleClock()
ます。
テストスクリプトを入力します。これは、A1の値を読み取り、それをA2に書き込むだけです。
時間ベースのトリガーを、既知の時間に1回起動するように設定します。
スプレッドシートを閉じて、使用するトリガーだけを残します。
トリガーが実行されたらスプレッドシートに戻り、結果を確認します。
発砲後、少なくともA1が毎分変化するまでは、A2=A1であることがわかります。ドキュメントは、コンピュータのタイムゾーンとロケールに応じて時刻が表示されることを意味していると思います。しかし、それはあなたのコンピュータから時間を読み取っていません。Today()
したがって、クロックの実際のソースは関数の場合と同じです。実行しているサーバー。
function testGoogleClock () {
var curGClock = SpreadsheetApp.getActiveSheet().getRange("A1").getValue();
SpreadsheetApp.getActiveSheet().getRange("A2").setValue(curGClock);
}
さらなる実験として、PCの時間を変更します。たとえば、10分オフにします。スプレッドシートを見てGoogleClock()
、カチカチ音をたてるのを見てください。PCが何に設定されているかに関係なく、ネットワーク時間を維持します。
次に、PCのタイムゾーンを変更します。チェックしてくださいGoogleClock()
。タイムゾーンの変更と一致しないことがわかります...PCが何に設定されているかに関係なく、ネットワーク時間を維持します。
スプレッドシートの設定はどうですか?それらを別のタイムゾーンに変更すると、それにGoogleClock()
一致するものが見つかります。
ドキュメントは言うべきです。
コンピュータシステムに応じて現在の日付と時刻を返します。
Now()
または、 ...のドキュメントとの一貫性を保つため
コンピュータシステムの時刻と日付を返します。(NOW機能とは異なり)毎分自動的に更新されます。
PS:これらの実験の後、時間設定を修正してください!