37

スクリプトを記述してトリガーにバインドするオプションがあります。問題は、スクリプト本体で現在の時刻を取得する方法です。

function myFunction() {

  var currentTime = // <<???

}
4

5 に答える 5

65

JavaScriptDate()オブジェクトを使用します。オブジェクトから時刻、日付、タイムスタンプなどを取得する方法はいくつかあります。(参考

function myFunction() {
  var d = new Date();
  var timeStamp = d.getTime();  // Number of ms since Jan 1, 1970

  // OR:

  var currentTime = d.toLocaleTimeString(); // "12:35 PM", for instance
}
于 2012-04-16T21:38:25.107 に答える
10

私は次のように私のGoogleドキュメントのタイムゾーンで検討しました:

timezone = "GMT+" + new Date().getTimezoneOffset()/60
var date = Utilities.formatDate(new Date(), timezone, "yyyy-MM-dd HH:mm"); // "yyyy-MM-dd'T'HH:mm:ss'Z'"

Googleドキュメントのスクリプト

于 2019-02-18T14:21:24.507 に答える
7

Datejavascriptによって提供されるオブジェクトを使用します。これは、Googleのスクリプト環境に固有または特別なものではありません。

于 2012-04-16T21:37:36.623 に答える
3

Googleスプレッドシートで現在の時刻を取得することは、Googleのスクリプト環境に固有のものではないと言う人は、明らかにGoogleAppsScriptを使用したことがありません。

そうは言っても、あなたは何について現在の時間を返したいですか?スクリプトユーザーのタイムゾーン?スクリプト所有者のタイムゾーン?

スクリプトのタイムゾーンは、スクリプトの所有者によってスクリプトエディタで設定されます。ただし、スクリプトのさまざまな許可ユーザーは、File/Spreadsheet settingsGoogleスプレッドシートのメニューから使用しているスプレッドシートのタイムゾーンを設定できます。

私はあなたが最初のオプションが欲しいと思います。組み込み関数を使用してスプレッドシートのタイムゾーンを取得し、Utilitiesクラスを使用して日付をフォーマットできます。

var timezone = SpreadsheetApp.getActive().getSpreadsheetTimeZone();

var date = Utilities.formatDate(new Date(), SpreadsheetApp.getActive().getSpreadsheetTimeZone(), "EEE, d MMM yyyy HH:mm")

または、Javascriptのdateメソッドを使用してUTC時間からタイムゾーンオフセットを取得し、タイムゾーンをフォーマットして、に渡しますUtilities.formatDate()

ただし、これには1つの小さな調整が必要です。によって返されるオフセットはgetTimezoneOffset()、タイムゾーンの考え方と矛盾します。オフセットが正の場合、米国のタイムゾーンのように、ローカルタイムゾーンはUTCより遅れています。オフセットが負の場合、アジア/バンコク、オーストラリア東部標準時などのように、ローカルタイムゾーンはUTCより進んでいます。

const now = new Date();
// getTimezoneOffset returns the offset in minutes, so we have to divide it by 60 to get the hour offset.
const offset = now.getTimezoneOffset() / 60
// Change the sign of the offset and format it
const timeZone = "GMT+" + offset * (-1) 
Logger.log(Utilities.formatDate(now, timeZone, 'EEE, d MMM yyyy HH:mm');
于 2020-07-24T03:17:50.423 に答える
1

オブジェクトは、Date日付と時刻を操作するために使用されます。

日付オブジェクトは。で作成されnew Date()ます。

var date= new Date();

 function myFunction() {
        var currentTime = new Date();
        Logger.log(currentTime);
    }
于 2017-11-23T07:07:03.657 に答える