EdgeScript は、CDN EdgeScript で使用できる以下の時刻関数を提供します。
| 関数 | 説明 |
|---|---|
today() | yyyy-mm-dd現在の日付を文字列 () として返します。 |
time() | 現在のUNIXタイムスタンプを整数秒で返します。 |
now() | 現在のUNIXタイムスタンプをミリ秒精度で返します。 |
localtime() | yyyy-mm-dd hh:mm:ss現在のローカル日時を文字列 () として返します。 |
utctime() | yyyy-mm-dd hh:mm:ss現在のUTC日時を文字列 () として返します。 |
cookie_time(sec) | UNIXタイムスタンプをCookie形式のGMT時刻文字列に変換します。 |
http_time(sec) | UNIXタイムスタンプをHTTPヘッダー形式のGMT時刻文字列に変換します。 |
parse_http_time(str) | HTTP形式の時刻文字列を解析し、対応するUNIXタイムスタンプを返します。 |
unixtime(year, month, day, hour, min, sec) | 日付と時刻をUNIXタイムスタンプに変換します。 |
today
| フィールド | 詳細 |
|---|---|
| 構文 | today() |
| 説明 | yyyy-mm-dd現在の日付 (ローカル時刻) を 形式で返します。 |
| パラメータ | なし |
| 戻り値 | 文字列 — yyyy-mm-dd フォーマットの現在のローカル日付 |
例
say(concat('today:', today()))
# Output: today:2019-05-23time
| フィールド | 詳細 |
|---|---|
| 構文 | time() |
| 説明 | 現在の UNIX タイムスタンプを秒単位の整数として返します。ミリ秒単位の精度が必要な場合は、now() を使用してください。 |
| パラメーター | なし |
| 戻り値 | 整数 — 現在の UNIX タイムスタンプ (秒単位) |
説明
UNIXタイムスタンプは、1970年1月1日00:00:00 UTC (Unixエポック) から経過した秒数を表します。タイムゾーンに依存しません。
例
say(concat('time:', time()))
# Output: time:1559109666now
| フィールド | 詳細 |
|---|---|
| 構文 | now() |
| 説明 | 現在のUNIXタイムスタンプを照会します。ミリ秒の小数部は除外されます。単位: 秒。 |
| パラメータ | なし |
| 戻り値 | 現在のUNIXタイムスタンプ。ミリ秒の小数部は除外されます。単位: 秒。 |
説明
UNIXタイムスタンプは、1970年1月1日00:00:00 UTC (Unixエポック) から経過した秒数を表します。タイムゾーンに依存しません。
例
say(concat('now:', now()))
# Output: now:1559109666.644localtime
| フィールド | 詳細 |
|---|---|
| 構文 | localtime() |
| 説明 | yyyy-mm-dd hh:mm:ss現在のローカル日時を 形式で返します。 |
| パラメータ | なし |
| 戻り値 | 文字列 — yyyy-mm-dd hh:mm:ss フォーマットの現在のローカルの日付と時刻 |
例
say(concat('localtime:', localtime()))
# Output: localtime:2019-05-29 14:02:41utctime
| フィールド | 詳細 |
|---|---|
| 構文 | utctime() |
| 説明 | 現在の協定世界時 (UTC) の日付と時刻を、yyyy-mm-dd hh:mm:ss 形式で返します。 |
| パラメーター | なし |
| 戻り値 | 文字列 — yyyy-mm-dd hh:mm:ss 形式の現在の協定世界時 (UTC) の日付と時刻 |
例
say(concat('utctime:', utctime()))
# Output: utctime:2019-05-29 06:02:41cookie_time
| フィールド | 詳細 |
|---|---|
| 構文 | cookie_time(sec) |
| 説明 | UNIX タイムスタンプを Cookie 形式の GMT 時刻文字列に変換します。 |
| パラメータ | sec — UNIX タイムスタンプ (整数)。現在のタイムスタンプを取得するには、time() を呼び出します。 |
| 戻り値 | 文字列 — Cookie 形式の GMT 時刻文字列: Wed, 29-May-19 06:02:41 GMT |
例
say(concat('cookie_time:', cookie_time(time())))
# Output: cookie_time:Wed, 29-May-19 06:02:41 GMThttp_time
| フィールド | 詳細 |
|---|---|
| 構文 | http_time(sec) |
| 説明 | UNIX タイムスタンプを、Last-Modified などの HTTP ヘッダーで使用される GMT 時間文字列に変換します。 |
| パラメーター | sec — UNIX タイムスタンプ (整数) です。time() を呼び出して現在のタイムスタンプを取得します。 |
| 戻り値 | 文字列 — HTTP-date フォーマットの GMT 時間文字列: Wed, 29 May 2019 06:02:41 GMT |
重要
時刻文字列は常にGMTです。
例
say(concat('http_time:', http_time(time())))
# Output: http_time:Wed, 29 May 2019 06:02:41 GMTparse_http_time
| フィールド | 詳細 |
|---|---|
| 構文 | parse_http_time(str) |
| 説明 | HTTP 形式の時刻文字列を解析し、対応する UNIX タイムスタンプを返します。解析に失敗した場合は false を返します。 |
| パラメーター | str — 時刻文字列で、フォーマットは Wed, 29 May 2019 06:02:41 GMT です。有効な入力文字列を生成するには、http_time() を呼び出してください。 |
| 戻り値 | 整数 — 解析が成功した場合は UNIX タイムスタンプ。解析に失敗した場合は false |
重要
この関数はタイムゾーン変換を処理しません。この関数に渡す前に、時刻をGMTに変換してください。
例
# 解析成功
say(concat('parse_http_time:', parse_http_time(http_time(time()))))
# Output: parse_http_time:1559109761
# 解析失敗 — 無効な入力は false を返します
say(concat('parse_http_time:', parse_http_time('not-a-valid-time')))
# Output: parse_http_time:falseunixtime
| フィールド | 詳細 |
|---|---|
| 構文 | unixtime(year, month, day, hour, min, sec) |
| 説明 | 日付と時刻をUNIXタイムスタンプに変換します。 |
| パラメータ | year、month、day、hour、min、sec — 日付および時刻の各要素を指定する整数値 |
| 戻り値 | 整数 — 指定された日付と時刻に対応するUNIXタイムスタンプ。 |
説明
UNIXタイムスタンプは、1970年1月1日00:00:00 UTC (Unixエポック) から経過した秒数を表します。タイムゾーンに依存しません。
例
t = unixtime(1970, 1, 1, 8, 0, 0)
say(concat('unixtime()=', t))
# Output: unixtime()=0
# 2021-12-23 00:00:00
t = unixtime(2021, 12, 23, 0, 0, 0)
say(concat('unixtime()=', t))
# Output: unixtime()=1640188800