全部產品
Search
文件中心

Simple Log Service:日期時間函數

更新時間:Jun 30, 2024

本文介紹日期時間函數的文法規則,包括參數解釋、函數樣本等。

在SLS DSL加工邏輯中,日誌中的所有值都以字串的形式儲存,需要根據情境對資料類型進行轉換。

日誌中時間主要有以下三種資料類型,您可以根據本文提供的日期時間函數進行日期時間格式轉換。

  • 字串

    例如2022/07/03 02-41-26。

  • Unix時間戳記

    例如1559500886。

  • 日期時間對象

    例如2022-07-01 10:10:10+08:00或者2022-07-01 10:10:10。

說明

Unix時間戳記本質上也是字串。

本文的日期時間函數中,除dt_parsedt_strdt_parsetimestamp函數支援以上三種資料類型作為參數,其他函數均需要保證參數類型的一致性。

函數列表

類型

函數

說明

通用日期時間轉換

dt_parse

將值或時間運算式的值轉換為日期時間對象。

dt_str

將值或時間運算式的值轉換為字串。

dt_parsetimestamp

將值或時間運算式的值轉換為Unix時間戳記。

dt_prop

擷取值或時間運算式值的特定屬性,包括所屬day、year等。

擷取日期時間

dt_now

擷取當前日期時間對象。

dt_today

擷取當前日期,不含時間。

dt_utcnow

擷取當前時區的當前日期時間對象。

dt_fromtimestamp

將Unix時間戳記轉換為日期時間對象。

dt_utcfromtimestamp

將Unix時間戳記轉換為當前時區的日期時間對象。

dt_strptime

將時間字串解析為日期時間對象。

擷取Unix時間戳記

dt_currentstamp

擷取當前Unix時間戳記。

dt_totimestamp

將日期時間對象轉換為Unix時間戳記。

擷取日期時間字串

dt_strftime

將日期時間對象按照指定格式轉換為字串。

dt_strftimestamp

將Unix時間戳記按照指定格式轉換為字串。

修改日期時間

dt_truncate

從值或時間運算式中截取指定的時間粒紋。

dt_add

根據指定的時間粒紋修改值或時間運算式的值。

dt_MO

dt_add函數中傳遞給weekday參數的值,用於表示特定星期一的位移量。

dt_TU

dt_add函數中傳遞給weekday參數的值,用於表示特定星期二的位移量。

dt_WE

dt_add函數中傳遞給weekday參數的值,用於表示特定星期三的位移量。

dt_TH

dt_add函數中傳遞給weekday參數的值,用於表示特定星期四的位移量。

dt_FR

dt_add函數中傳遞給weekday參數的值,用於表示特定星期五的位移量。

dt_SA

dt_add函數中傳遞給weekday參數的值,用於表示特定星期六的位移量。

dt_SU

dt_add函數中傳遞給weekday參數的值,用於表示特定星期日的位移量。

修改日期時區

dt_astimezone

將值或時間運算式的值轉換為特定時區的日期時間對象。

擷取差異

dt_diff

按照特定粒度擷取兩個值或時間運算式值的差異值。

dt_parse

將值或時間運算式的值轉換為日期時間對象。

  • 函數格式

    dt_parse(value, tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

  • 返回結果

    返迴轉換後的日期時間對象。

  • 函數樣本

    • 樣本1:將time欄位的值轉化成日期時間。

      • 原始日誌

        time: 1559500886
      • 加工規則

        e_set("test_time", dt_parse(v("time")))
      • 加工結果

        time: 1559500886
        test_time: 2019-06-02 18:41:26 
    • 樣本2:將time欄位的值轉化成日期時間,時區是上海。

      • 原始日誌

        time: 2019-06-01 10:10:10
        tz: Asia/Shanghai
      • 加工規則

        e_set("test_time", dt_parse(v("time"),tz=v("tz")))
      • 加工結果

        time: 2019-06-01 10:10:10
        tz: Asia/Shanghai
        test_time: 2019-06-01 10:10:10+08:00

dt_str

將值或時間運算式的值轉換為字串。

  • 函數格式

    dt_str(value, fmt="format_string", tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    fmt

    String

    格式化字串。更多資訊,請參見日期時間格式化指令。預設為空白,則格式保持不變。

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

  • 返回結果

    返迴轉換後的時間字串。

  • 函數樣本

    • 樣本1:把time欄位的值轉換成fmt形式,時區東京。

      • 原始日誌

        time: 2019-06-03 02:41:26
        fmt: %Y/%m/%d %H-%M-%S
        tz: Asia/Tokyo
      • 加工規則

        e_set("dt_str", dt_str(v("time"),fmt=v("fmt"),tz=v("tz")))
      • 加工結果

        time: 2019-06-03 02:41:26
        fmt: %Y/%m/%d %H-%M-%S
        tz: Asia/Tokyo
        dt_str: 2019/06/03 02-41-26
    • 樣本2:把time欄位的值(Unix時間戳記)轉換成fmt形式。

      • 原始日誌

        time: 1559500886
        fmt: %Y/%m/%d %H-%M-%S
      • 加工規則

        e_set("dt_str", dt_str(v("time"),fmt=v("fmt")))
      • 加工結果

        time: 1559500886
        fmt: %Y/%m/%d %H-%M-%S
        dt_str: 2019/06/02 18-41-26
    • 樣本3:把time欄位的值轉換成預設形式。

      • 原始日誌

        time: 2019-06-03 02:41:26
      • 加工規則

        e_set("dt_str", dt_str(v("time")))
      • 加工結果

        time: 2019-06-03 02:41:26
        dt_str: 2019-06-03 02:41:26

dt_parsetimestamp

將值或時間運算式的值轉換為Unix時間戳記。

  • 函數格式

    dt_parsetimestamp(value, tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

  • 返回結果

    返迴轉換後的Unix時間戳記。

  • 函數樣本

    • 樣本1:把time欄位的值轉換成時間戳記,時區是東京。

      • 原始日誌

        time: 2019-06-03 2:41:26
        tz: Asia/Tokyo
      • 加工規則

        e_set("dt_parsetimestamp", dt_parsetimestamp(v("time"),v("tz")))
      • 加工結果

        time: 2019-06-03 2:41:26
        tz: Asia/Tokyo
        dt_parsetimestamp: 1559497286
    • 樣本2:把time欄位的值轉換成Unix時間戳記。

      • 原始日誌

        time: 2019-06-03 2:41:26
      • 加工規則

        e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))
      • 加工結果

        time: 2019-06-03 2:41:26
        dt_parsetimestamp: 1559529686
    • 樣本3:把time欄位的值轉換成Unix時間戳記。

      • 原始日誌

        time: 2019-06-03 02:41:26+8:00
      • 加工規則

        e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))
      • 加工結果

        time: 2019-06-03 02:41:26+8:00
        dt_parsetimestamp: 1559500886

dt_prop

擷取值或時間運算式值的特定屬性,包括所屬day、year等。

  • 函數格式

    dt_prop(value, props)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    props

    String

    需要擷取的時間屬性。 例如屬性名稱為year,則只會輸出年份。 參數值可以為dayyearmonthhoursecondminutemicrosecondweekdayweekdaynameweekdayshortnamemonthnamemonthshortnamedayofyeardayofweekweekofyearweekofyear_mtznameweekofmonth

  • 返回結果

    返回提取的屬性。

  • 函數樣本

    • 樣本1:提取time欄位的值的day屬性值。

      • 原始日誌

        time: 2018-10-2 09:11:40
      • 加工規則

        e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"day"))
      • 加工結果

        time: 2018-10-2 09:11:40
        dt_parsetimestamp: 2
    • 樣本2:提取time欄位的值的year屬性值。

      • 原始日誌

        time: 2018-10-2 09:11:40
      • 加工規則

        e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"year"))
      • 加工結果

        time: 2018-10-2 09:11:40
        dt_parsetimestamp: 2018
    • 樣本3:提取time欄位的值的weekdayname屬性值。

      • 原始日誌

        time: 2018-10-2 09:11:40
        weekdayname: weekdayname
      • 加工規則

        e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekdayname"))
      • 加工結果

        time: 2018-10-2 09:11:40
        dt_prop: Tuesday
    • 樣本4:提取time欄位的值的weekofyear屬性值。

      • 原始日誌

        time: 2018-10-2 09:11:40
      • 加工規則

        e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekofyear"))
      • 加工結果

        time: 2018-10-2 09:11:40
        dt_prop: 39

dt_now

擷取當前日期時間對象。

  • 函數格式

    dt_now(tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

  • 返回結果

    返回指定時區的時間對象。

  • 函數樣本

    擷取目前時間,時區是上海。

    • 原始日誌

      tz: Asia/Shanghai
    • 加工規則

      e_set("dt_now",dt_now(tz=v("tz")))
    • 加工結果

      tz: Asia/Shanghai
      dt_now: 2022-06-30 11:21:25.111836+08:00

dt_today

擷取當前日期,不含時間。

  • 函數格式

    dt_today(tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

  • 返回結果

    返回指定時區的日期對象。

  • 函數樣本

    擷取當前日期,不含時間。

    • 原始日誌

    • 加工規則

      e_set("dt_today", dt_today())
    • 加工結果

      dt_today: 2022-06-30 00:00:00

dt_utcnow

擷取當前時區的當前日期時間對象。

  • 函數格式

    dt_utcnow()
  • 參數說明

    無。

  • 返回結果

    返回目前時間的目前時間對象。

  • 函數樣本

    擷取當前時區的目前時間。

    • 原始日誌

    • 加工規則

      e_set("dt_utcnow",dt_utcnow())
    • 加工結果

      dt_utcnow:2022-06-30 03:33:56.614005

dt_fromtimestamp

將Unix時間戳記轉換為日期時間對象。

  • 函數格式

    dt_fromtimestamp(value, tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    String

    值或時間運算式。

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

  • 返回結果

    返迴轉換後的日期時間。

  • 函數樣本

    • 樣本1:把time欄位的值轉化成日期時間對象。

      • 原始日誌

        time: 1559500886
      • 加工規則

        e_set("dt_fromtimestamp",dt_fromtimestamp(v("time")))
      • 加工結果

        time: 1559500886
        dt_fromtimestamp: 2019-06-02 18:41:26
    • 樣本2:把time欄位的值轉化成日期時間對象,時區上海。

      • 原始日誌

        time: 1559500886
        tz: Asia/Shanghai
      • 加工規則

        e_set("dt_fromtimestamp",dt_fromtimestamp(v("time"),tz=v("tz")))
      • 加工結果

        time: 1559500886
        tz: Asia/Shanghai
        dt_fromtimestamp: 2019-06-03 02:41:26+08:00

dt_utcfromtimestamp

將Unix時間戳記轉換為當前時區的日期時間對象。

  • 函數格式

    dt_utcfromtimestamp(value)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    String

    值或時間運算式。

  • 返回結果

    返迴轉換後的日期時間對象。

  • 函數樣本

    • 原始日誌

      time: 1559500886
    • 加工規則

      e_set("dt_utcfromtimestamp",dt_utcfromtimestamp(v("time")))
    • 加工結果

      time: 1559500886
      dt_utcfromtimestamp: 2019-06-02 18:41:26

dt_strptime

將時間字串解析為日期時間對象。

  • 函數格式

    dt_strptime(value, "format_string")
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    String

    值或時間運算式。

    fmt

    String

    格式化字串。更多資訊,請參見日期時間格式化指令

  • 返回結果

    返回解析後的日期時間對象。

  • 函數樣本

    • 原始日誌

      time: 2019/06/03 02-41-26
      fmt: %Y/%m/%d %H-%M-%S
    • 加工規則

      e_set("dt_strptime",dt_strptime(v("time"),v("fmt")))
    • 加工結果

      time: 2019/06/03 02-41-26
      fmt: %Y/%m/%d %H-%M-%S
      dt_strptime: 2019-06-03 02:41:26

dt_currentstamp

擷取當前Unix時間戳記。

  • 函數格式

    dt_currentstamp(value, normalize='floor')
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    String

    值或時間運算式。

    normalize

    String

    計算結果數字格式。參數取值為:

    • floor(預設值):向下取整。

    • int:取整。

    • round:四捨五入。

    • ceil:向上取整。

  • 返回結果

    返回當前Unix時間戳記。

  • 函數樣本

    • 原始日誌

    • 加工規則

      e_set("dt_currentstamp",dt_currentstamp())
    • 加工結果

      dt_currentstamp: 1656560437

dt_totimestamp

將日期時間對象轉換為Unix時間戳記。

  • 函數格式

    dt_totimestamp(timeexpression)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    timeexpression

    日期時間對象

    需要被轉換的日期時間對象。

  • 返回結果

    返迴轉換後的Unix時間戳記。

  • 函數樣本

    • 原始日誌

      time: 2019-06-03 2:41:26
    • 加工規則

      e_set("dt_totimestamp",dt_totimestamp(dt_parse(v("time"))))
    • 加工結果

      time: 2019-06-03 2:41:26
      dt_totimestamp: 1559529686

dt_strftime

將日期時間對象按照指定格式轉換為字串。

  • 函數格式

    dt_strftime(timeexpression, "format_string")
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    timeexpression

    日期時間對象

    需要被轉換的日期時間對象。

    format_string

    String

    格式化字串。更多資訊,請參見日期時間格式化指令

  • 返回結果

    返回格式化後的字串。

  • 函數樣本

    將time欄位的值按照fmt格式轉換。

    • 原始日誌

      time: 2019-06-03 2:41:26
      fmt: %Y/%m/%d %H-%M-%S
    • 加工規則

      e_set("dt_strftime",dt_strftime(dt_parse(v("time")),v("fmt")))
    • 加工結果

      time: 2019-06-03 2:41:26
      fmt: %Y/%m/%d %H-%M-%S
      dt_strftime: 2019/06/03 02-41-26

dt_strftimestamp

將Unix時間戳記按照指定格式轉換為字串。

  • 函數格式

    dt_strftimestamp(value, fmt="format_string", tz=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    String

    需要被轉換的Unix時間戳記。

    fmt

    String

    格式化字串。更多資訊,請參見日期時間格式化指令

    tz

    String

    表示時區,預設為None,使用零時區。更多資訊,請參見時區列表

  • 返回結果

    返回格式化後的字串。

  • 函數樣本

    • 樣本1

      • 原始日誌

        time: 1559500886
        fmt: %Y/%m/%d %H-%M-%S
      • 加工規則

        e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt")))
      • 加工結果

        time: 1559500886
        fmt: %Y/%m/%d %H-%M-%S
        dt_strftimestamp: 2019/06/02 18-41-26
    • 樣本2

      • 原始日誌

        time: 1559500886
        fmt: %Y/%m/%d %H-%M-%S
        tz: Asia/Tokyo
      • 加工規則

        e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt"),v("tz")))
      • 加工結果

        dt_strftimestamp:2019/06/03 03-41-26
        fmt:%Y/%m/%d %H-%M-%S
        time:1559500886
        tz:Asia/Tokyo

dt_truncate

從值或時間運算式中截取指定的時間粒紋。

  • 函數格式

    dt_truncate(value, unit='day')
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    unit

    String

    需要擷取的時間屬性粒度。 預設為day。可選secondminute<num>_minute(例如:5_minute, 19_minute, 2_minute等)、hourdayweekmonthquarterhalf_yearyear

  • 返回結果

    返回提取的特定時間粒紋。

  • 函數樣本

    • 樣本1

      • 原始日誌

        time: 2019-06-03 2:41:26
        unit: year
      • 加工規則

        e_set("dt_truncate",dt_truncate(v("time"),v("unit")))
      • 加工結果

        time: 2019-06-03 2:41:26
        unit: year
        dt_truncate: 2019-01-01 00:00:00
    • 樣本2

      • 原始日誌

        time: 2019-06-03 2:41:26
        unit: hour
      • 加工規則

        e_set("dt_truncate",dt_truncate(v("time"),v("unit")))
      • 加工結果

        time: 2019-06-03 2:41:26
        unit: hour
        dt_truncate: 2019-06-03 02:00:00

dt_add

根據指定的時間粒紋修改值或時間運算式的值。

  • 函數格式

    dt_add(value, dt1=None, dt2=None, year(s)=None, month(s)=None, day(s)=None, hour(s)=None, minute(s)=None, second(s)=None, microsecond(s)=None, week(s)=None, weekday=None)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    日期時間運算式。

    dt1

    字串、Unix時間戳記或日期時間對象

    日期時間運算式,預設為None。

    dt2

    字串、Unix時間戳記或日期時間對象

    日期時間運算式,預設為None。

    year/years

    Number

    • year:表示需要替換的年份,例如year=2020,預設為None。

    • years:表示需要增加年份的數量,如years=1表示在原來year的基礎上再增加一年。

    day/days

    Number

    • day:表示需要替換的天,例如day=1,預設為None。

    • days:表示需要增加天的數量,如days=1表示在原來day的基礎上加一天。

    hour/hours

    Number

    • hour:表示需要替換的小時,例如hour=1,預設為None。

    • hours:表示需要增加小時的數量,如hours=1表示在原來hour的基礎上加一小時。

    minute/minutes

    Number

    • minute:表示需要替換的分鐘,例如minute=1,預設為None。

    • minutes:表示需要增加分鐘的數量,如minutes=1表示在原來minute的基礎上加一分鐘。

    second/seconds

    Number

    • second:表示需要替換的秒數,例如second=1,預設為None。

    • seconds:表示需要增加秒的數量,如seconds=1表示在原來second的基礎上加一秒鐘。

    microsecond/microseconds

    Number

    • microsecond:表示需要替換的毫秒數,例如microsecond=1,預設為None。

    • microseconds:表示需要增加毫秒的數量,microseconds=1表示在原來microsecond的基礎上加一毫秒。

    week/weeks

    Number

    • week:表示需要位移的周數,例如week=1,預設為None。

    • weeks:表示需要增加周的數量,weeks=1表示在原來week的基礎上加一周。

    weekday

    Number

    表示需要位移的工作日,例如weekday=dt_MO(1),預設為None。

  • 返回結果

    返回修改後的時間運算式。

  • 函數樣本

    • 樣本1

      • 原始日誌

        dt: 2018-10-10 1:2:3
        dt1: 2018-11-3 11:12:13
        dt2: 2018-10-1 10:10:10
      • 加工規則

        e_set("dt_add",dt_add(dt_parse(v("dt")), dt1=dt_parse(v("dt1")), dt2=dt_parse(v("dt2"))))
      • 加工結果

        dt:2018-10-10 1:2:3
        dt1:2018-11-3 11:12:13
        dt2:2018-10-1 10:10:10
        dt_add:2018-11-12 02:04:06
    • 樣本2

      • 原始日誌

        dt: 2018-10-11 02:03:04
        year: 2019
      • 加工規則

        e_set("dt_add", dt_add(dt_parse(v("dt")), year=ct_int(v("year"))))
      • 加工結果

        dt:2018-10-11 02:03:04
        dt_add:2019-10-11 02:03:04
        year:2019

dt_MO

dt_add函數中傳遞給weekday參數的值,用於表示特定星期一的位移量。

  • 函數格式

    dt_MO(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    • 原始日誌

      time: 2019-08-13 02:03:04
    • 加工規則

      e_set("dt_MO",dt_add(v("time"),weekday=dt_MO(1)))
    • 加工結果

      time: 2019-08-13 02:03:04
      dt_MO: 2019-08-19 02:03:04

dt_TU

dt_add函數中傳遞給weekday參數的值,用於表示特定星期二的位移量。

  • 函數格式

    dt_TU(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    請參見dt_MO函數樣本。

dt_WE

dt_add函數中傳遞給weekday參數的值,用於表示特定星期三的位移量。

  • 函數格式

    dt_WE(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    請參見dt_MO函數樣本。

dt_TH

dt_add函數中傳遞給weekday參數的值,用於表示特定星期四的位移量。

  • 函數格式

    dt_TH(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    請參見dt_MO函數樣本。

dt_FR

dt_add函數中傳遞給weekday參數的值,用於表示特定星期五的位移量。

  • 函數格式

    dt_FR(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    請參見dt_MO函數樣本。

dt_SA

dt_add函數中傳遞給weekday參數的值,用於表示特定星期六的位移量。

  • 函數格式

    dt_SA(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    請參見dt_MO函數樣本。

dt_SU

dt_add函數中傳遞給weekday參數的值,用於表示特定星期日的位移量。

  • 函數格式

    dt_SU(Integer_or_negative)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    Integer_or_negative

    Number

    傳入位移量。如果需要傳入負數,請使用op_neg(positive) 。例如-1用op_neg(1)表示。

  • 返回結果

    返回位移後的時間。

  • 函數樣本

    請參見dt_MO函數樣本。

dt_astimezone

將值或時間運算式的值轉換為特定時區的日期時間對象。

  • 函數格式

    dt_astimezone(value, tz, reset=False)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    tz

    String

    表示時區,預設為None。更多資訊,請參見時區列表

    reset

    Bool

    表示是否對時區重新設定,預設為False表示不設定。如果為True則返回原時間加上設定的時區。

  • 返回結果

    返回特定時區的日期時間對象。

  • 函數樣本

    • 樣本1

      • 原始日誌

        time: 2019-06-03 2:41:26
        tz: UTC
      • 加工規則

        e_set("dt_astimezone",dt_astimezone(dt_parse(v("time")), v("tz")))
      • 加工結果

        time: 2019-06-03 2:41:26
        tz: UTC
        dt_astimezone: 2019-06-03 02:41:26+00:00
    • 樣本2

      • 原始日誌

        time: 2019-06-01 10:10:10+10:00
        tz: Asia/Tokyo
      • 加工規則

        e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=True))
      • 加工結果

        time: 2019-06-01 10:10:10+10:00
        tz: Asia/Tokyo
        dt_astimezone: 2019-06-01 10:10:10+09:00
    • 樣本3

      • 原始日誌

        time: 2019-06-01 10:10:10+08:00
        tz: Asia/Tokyo
      • 加工規則

        e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=False))
        e_set("dt_astimezone_true",dt_astimezone(v("time"), v("tz"),reset=True))
      • 加工結果

        dt_astimezone:2019-06-01 11:10:10+09:00
        dt_astimezone_true:2019-06-01 10:10:10+09:00
        time:2019-06-01 10:10:10+08:00
        tz:Asia/Tokyo

dt_diff

按照特定粒度擷取兩個值或時間運算式值的差異值。

  • 函數格式

    dt_diff(value1, value2, unit='second', normalize='floor')
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    value1

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    value2

    字串、Unix時間戳記或日期時間對象

    值或時間運算式。

    unit

    String

    按照輸入時間屬性返回,預設second。也可以是microsecondmillisecondminuteshoursday等。

    normalize

    String

    計算結果數字格式。取值為:

    • floor(預設值):向下取整。

    • int:取整。

    • round:保留N位小數。

    • ceil:向上取整。

  • 返回結果

    返回按照特定粒度擷取的兩個值的差異值。

  • 函數樣本

    • 樣本1:對time1和time2欄位的值,按照秒計算差異值。

      • 原始日誌

        time1: 2018-10-1 10:10:10
        time2: 2018-10-1 10:10:10
      • 加工規則

        e_set("diff",dt_diff(v("time1"), v("time2")))
      • 加工結果

        time1: 2018-10-1 10:10:10
        time2: 2018-10-1 10:10:10
        diff: 0
    • 樣本2:對time1和time2欄位的值,按照秒計算差異值。

      • 原始日誌

        time1: 2018-10-1 11:10:10
        time2: 2018-10-1 10:10:10
      • 加工規則

        e_set("diff",dt_diff(v("time1"), v("time2")))
      • 加工結果

        time1: 2018-10-1 11:10:10
        time2: 2018-10-1 10:10:10
        diff: 3600
    • 樣本3:對time1和time2欄位的值,按照微秒計算差異值。

      • 原始日誌

        time1: 2018-10-1 11:10:11
        time2: 2018-10-1 10:10:10
        unit: microsecond
      • 加工規則

        e_set("diff",dt_diff(v("time1"), v("time2"),v("unit")))
      • 加工結果

        diff:3601000000
        time1:2018-10-1 11:10:11
        time2:2018-10-1 10:10:10
        unit:microsecond
    • 樣本4:對time1和time2欄位的值,按照分鐘計算差異值,向下取整。

      • 原始日誌

        time1: 2018-10-1 11:11:59
        time2: 2018-10-1 10:10:00
        unit: minute
        normalize: floor
      • 加工規則

        e_set("diff", dt_diff(v("time1"), v("time2"), v("unit"), v("normalize")))
      • 加工結果

        diff:61
        normalize:floor
        time1:2018-10-1 11:11:59
        time2:2018-10-1 10:10:00
        unit:minute
    • 樣本5:對time1和time2欄位的值,按照秒計算差異值,向下取整。

      • 原始日誌

        time1: 10:00:00
        time2: 11:00:00
        unit: second
        normalize: floor
      • 加工規則

        e_set("diff", dt_diff(v("time1"), v("time2"), v("unit"), v("normalize")))
      • 加工結果

        diff:-3600
        normalize:floor
        time1:10:00:00
        time2:11:00:00
        unit:second