TIME( ) 関数

指定された時刻または日付時刻から時刻を抽出し、それを文字データとして返します。また、現在のオペレーティング システムの時刻を返すこともできます。

構文

TIME(<時刻/日付時刻> <,書式>)

パラメーター

名前 種類 説明
時刻/日付時刻

省略可能

日付時刻

時刻を抽出するフィールド、式、またはリテラル値。これを省略した場合は、現在のオペレーティング システムの時刻が hh:mm:ss 書式で返されます。

書式

省略可能

文字

出力文字列に適用する書式。例:"hh:mm:ss" このパラメーターを省略した場合は、現在の Analytics の時刻表示書式が使用されます。時刻/日付時刻を省略した場合に、書式を指定することはできません。

出力

文字。

基本的な例

リテラルの入力値

現在の Analytics 時刻表示書式である hh:mm:ss を適用した時刻、"23:59:59" が返されます。

TIME(`20141231 235959`)

"11:59 P" が返されます。

TIME(`20141231 235959`, "hh:mm A")

現在のオペレーティング システム時刻が hh:mm:ss 書式(24 時間制)で文字列として返されます。

TIME()

入力値用フィールド

Receipt_timestamp フィールドの各値に対して現在の Analytics の時刻表示書式を適用した文字列が返されます。

TIME(Receipt_timestamp)

Receipt_timestamp フィールドの各値に対して、指定した時刻表示書式を適用した文字列が返されます。

TIME(Receipt_timestamp,  "hh:mm:ss")

高度な例

実行するコマンドまたはスクリプトの経過時間を計算する

特定の Analytics コマンドまたはスクリプト全体の実行にかかる時間を計算するために TIME( ) 関数を使用することができます。

時間を計測するコマンドの直前、またはスクリプトの開始時に、現在のオペレーティング システムの時間を格納する変数を作成するために次の行を指定します。

ASSIGN Time_started = TIME()

コマンドの実行直後、またはスクリプトの終了時に次の 2 行を指定します。

最初の行は、コマンドまたはスクリプトが完了した後にオペレーティング システムの時間を格納する変数を作成します。2 行目は終了と開始時間の差を計算して、結果を見やすい書式に変換します。

ヒント

コマンドやスクリプトの経過時間は、CALCULATE ログ エントリをダブルクリックしても見ることができます。

ASSIGN Time_finished = TIME()
CALCULATE STOT(CTOT(Time_finished) - CTOT(Time_started))

コマンドまたはスクリプトが日付をまたいで実行される場合は、代わりにこの 2 行を使用します。

CALCULATE `T000000` - (CTOT(Time_started) - CTOT(Time_finished))

備考

出力文字列の長さ

出力文字列の長さは常に 14 文字です。指定した出力書式、または Analytics の時刻表示書式が 12 文字より短い場合は、出力文字列の末尾に空白が埋められます。

パラメーターの詳細

時刻/日付時刻に指定されたフィールドは、フィールド定義で正しく書式を定義してさえいれば、どのような時刻書式または日付時刻書式でも使用することができます。

書式を使用して出力文字列の表示方法を制御する場合は、次の表内の書式に制限されます。時刻と AM/PM の書式を任意に組み合わせて使用することができます。AM/PM 書式は省略可能で、最後に置きます。

書式は、一重引用符または二重引用符を使用して指定します。例:"hh:mm:ss AM"

時刻書式

AM/PM 書式

hh:mm:ss

なし

24 時間制

"hh:mm:ss"

hhmmss

AM または PM

12 時間制

"hhmmss PM"

hh:mm

A または P

12 時間制

"hh:mm A"

hhmm

 

 

hh

 

 

リテラル時刻または日付時刻値の指定

日付時刻にリテラルの時刻値または日付時刻値を指定する場合は、次の表内の書式に制限されます。また、`20141231 235959` のように、値を逆引用符で囲む必要があります。

日付または時刻の個々の要素の間に、スラッシュ(/)やコロン(:)のような区切り文字をいっさい使用しないでください。

  • 時刻値 – 以下の表に示す任意の時刻の書式を使用することができます。関数が正しく動作するためには、単独の時刻値の前に区切り文字を使用する必要があります。有効な区切り文字は文字 't' または 'T' です。24 時間形式で時刻を指定する必要があります。UTC(Coordinated Universal Time:協定世界時)からのオフセットは、プラス記号(+)またはマイナス記号(-)で始める必要があります。

  • 日付時刻値 – 以下の表に示す日付、区切り文字、および時刻の書式を任意に組み合わせて使用することができます。日付を時刻の前に置く必要があり、かつ、2 つの間に区切り文字を使用する必要があります。有効な区切り文字は空白スペース 1 つ、あるいは文字 't' または 'T' です。

    形式の例

    リテラル値の例

    thhmmss

    `t235959`

    Thhmm

    `T2359`

    YYYYMMDD hhmmss

    `20141231 235959`

    YYMMDDthhmm

    `141231t2359`

    YYYYMMDDThh

    `20141231T23`

    YYYYMMDD hhmmss+/-hhmm

    (UTC オフセット)

    `20141231 235959-0500`

    YYMMDD hhmm+/-hh

    (UTC オフセット)

    `141231 2359+01`

    メモ

    UTC オフセットが設定されているデータのメインの時刻書式で hh を単独で使用しないでください。たとえば、「hh+hhmm」という使い方は避けてください。信頼できない結果になる可能性があります。

     

関連する関数

日付時刻値として現在のオペレーティング システム時刻付を返すには、TIME( ) の代わりに NOW( ) を使用してください。

他の日付時刻変換関数

日付時刻から文字への変換

関数 説明

DATE( )

指定された日付または日付時刻から日付を抽出し、それを文字データとして返します。また、現在のオペレーティング システム日付を返すこともできます。

DATETIME( )

日付時刻を文字列に変換します。また、現在のオペレーティング システムの日付時刻を返すこともできます。

文字または数値から日付時刻への変換

関数 説明

CTOD( )

文字または数値の日付値を日付に変換します。また、文字または数値の日付時刻値から日付を抽出し、それを日付として返すこともできます。"Character to Date" の省略形です。

CTODT( )

文字または数値の日付時刻値を日付時刻に変換します。"Character to Datetime" の省略形です。

CTOT( )

文字または数値の時刻値を時刻に変換します。また、文字または数値の日付時刻値から時刻を抽出し、それを時刻として返すこともできます。"Character to Time" の省略形です。

シリアルから日付時刻への変換

関数 説明

STOD( )

シリアル日付、つまり、整数で表される日付を日付値に変換します。"Serial to Date" の省略形です。

STODT( )

シリアル日付時刻、つまり、整数部分と 24 時間の小数部分で表される日付時刻を日付時刻値に変換します。"Serial to Datetime" の省略形です。

STOT( )

シリアル時刻、つまり、24 時間を 1 として、24 時間が小数部分で表される時刻を時刻値に変換します。"Serial to Time" の省略形です。

ACL のスクリプト作成ガイド 14.1