0

こんにちはスプレッドシートのGOOGLECLOCK()は何時ですか?

ドキュメントから、GoogleClockは「コンピュータシステムに応じて現在の日付と時刻を返します」(引用)ことを知っています。

しかし、スプレッドシートが時間駆動型トリガーによってクライアント側で開かれる場合はどうでしょうか。GoogleClock()は何時になりますか?

何かアイデアがあれば教えてください。見てくれてありがとう。

4

1 に答える 1

2

すばやく簡単にテストできます。これは、ドキュメントが混乱していて、おそらく間違っていることを示しています。(しかし、それはインターネット上にあるので、それは真実でなければなりません!)

  1. セルA1の数式をに設定しGoogleClock()ます。

  2. テストスクリプトを入力します。これは、A1の値を読み取り、それをA2に書き込むだけです。

  3. 時間ベースのトリガーを、既知の時間に1回起動するように設定します。

  4. スプレッドシートを閉じて、使用するトリガーだけを残します。

  5. トリガーが実行されたらスプレッドシートに戻り、結果を確認します。

発砲後、少なくとも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:これらの実験の後、時間設定を修正してください!

于 2013-01-25T01:54:04.037 に答える