Topik ini menjelaskan sintaksis, parameter, serta contoh penggunaan fungsi tanggal dan waktu.
Semua nilai dalam peristiwa log disimpan sebagai string berdasarkan logika transformasi bahasa domain-spesifik (DSL) Simple Log Service. Anda harus mengonversi tipe data sesuai dengan kebutuhan bisnis Anda.
Fungsi tanggal dan waktu mendukung tipe data berikut. Anda dapat menggunakan fungsi yang dijelaskan dalam topik ini untuk mengonversi format tanggal dan waktu:
String
Contoh: 2022/07/03 02-41-26.
Timestamp UNIX
Contoh: 1559500886.
Objek datetime
Contoh: 2022-07-01 10:10:10+08:00 dan 2022-07-01 10:10:10.
Timestamp UNIX adalah string.
Dari fungsi tanggal dan waktu yang dijelaskan dalam topik ini, hanya fungsi dt_parse, dt_str, dan dt_parsetimestamp yang mendukung tipe data tersebut. Untuk fungsi lainnya, pastikan bahwa nilai parameter memiliki tipe yang sama.
Fungsi
Kategori | Fungsi | Deskripsi |
Konversi datetime umum | Mengonversi nilai atau nilai ekspresi waktu menjadi objek datetime. | |
Mengonversi nilai atau nilai ekspresi waktu menjadi string. | ||
Mengonversi nilai atau nilai ekspresi waktu menjadi timestamp UNIX. | ||
Mengembalikan atribut tertentu dari nilai, atau mengembalikan atribut tertentu dari nilai ekspresi waktu. Atribut termasuk hari dan tahun. | ||
Pencarian datetime | Mengembalikan objek datetime saat ini. | |
Hanya mengembalikan tanggal saat ini. | ||
Mengembalikan objek datetime saat ini di zona waktu saat ini. | ||
Mengonversi timestamp UNIX menjadi objek datetime. | ||
Mengonversi timestamp UNIX menjadi objek datetime di zona waktu saat ini. | ||
Mengurai string waktu menjadi objek datetime. | ||
Generasi timestamp UNIX | Mengembalikan timestamp UNIX saat ini. | |
Mengonversi objek datetime menjadi timestamp UNIX. | ||
Generasi string datetime | Mengonversi objek datetime menjadi string dalam format tertentu. | |
Mengonversi timestamp UNIX menjadi string dalam format tertentu. | ||
Perubahan datetime | Mengekstrak nilai waktu dari nilai atau nilai ekspresi waktu berdasarkan granularitas waktu tertentu. | |
Mengubah nilai atau nilai ekspresi waktu berdasarkan granularitas waktu tertentu. | ||
Mengimbangi waktu tertentu ke tanggal Senin ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Mengimbangi waktu tertentu ke tanggal Selasa ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Mengimbangi waktu tertentu ke tanggal Rabu ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Mengimbangi waktu tertentu ke tanggal Kamis ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Mengimbangi waktu tertentu ke tanggal Jumat ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Mengimbangi waktu tertentu ke tanggal Sabtu ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Mengimbangi waktu tertentu ke tanggal Minggu ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter | ||
Perubahan zona waktu | Mengonversi nilai atau nilai ekspresi waktu menjadi objek datetime di zona waktu tertentu. | |
Generasi selisih | Mengembalikan selisih antara dua nilai atau antara nilai dua ekspresi waktu berdasarkan granularitas waktu tertentu. |
dt_parse
Fungsi ini digunakan untuk mengonversi nilai atau ekspresi waktu menjadi objek datetime.
dt_parse(value, tz=None)Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
Objek datetime dikembalikan.
Contoh 1: Mengonversi nilai bidang waktu menjadi objek datetime.
Log mentah:
time: 1559500886Aturan transformasi:
e_set("test_time", dt_parse(v("time")))Hasil:
time: 1559500886 test_time: 2019-06-02 18:41:26
Contoh 2: Mengonversi nilai bidang waktu menjadi objek datetime di zona waktu Shanghai.
Log mentah:
time: 2019-06-01 10:10:10 tz: Asia/ShanghaiAturan transformasi:
e_set("test_time", dt_parse(v("time"),tz=v("tz")))Hasil:
time: 2019-06-01 10:10:10 tz: Asia/Shanghai test_time: 2019-06-01 10:10:10+08:00
dt_str
Fungsi ini digunakan untuk mengonversi nilai atau ekspresi waktu menjadi string.
dt_str(value, fmt="format_string", tz=None)Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
fmt
String
Tidak
Format string. Untuk informasi lebih lanjut, lihat Direktif pemformatan tanggal dan waktu. Secara default, parameter ini kosong dan format string tetap tidak berubah.
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
String waktu dikembalikan.
Contoh 1: Ubah nilai bidang waktu menjadi string waktu dengan format tertentu di zona waktu Tokyo.
Log mentah:
time: 2019-06-03 02:41:26 fmt: %Y/%m/%d %H-%M-%S tz: Asia/TokyoAturan transformasi:
e_set("dt_str", dt_str(v("time"),fmt=v("fmt"),tz=v("tz")))Hasil:
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
Contoh 2: Ubah nilai bidang waktu menjadi string waktu dengan format tertentu. Dalam contoh ini, nilai bidang waktu adalah timestamp UNIX.
Log mentah:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%SAturan transformasi:
e_set("dt_str", dt_str(v("time"),fmt=v("fmt")))Hasil:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S dt_str: 2019/06/02 18-41-26
Contoh 3: Ubah nilai bidang waktu menjadi string waktu dalam format default.
Log mentah:
time: 2019-06-03 02:41:26Aturan transformasi:
e_set("dt_str", dt_str(v("time")))Hasil:
time: 2019-06-03 02:41:26 dt_str: 2019-06-03 02:41:26
dt_parsetimestamp
Fungsi ini digunakan untuk mengonversi nilai atau ekspresi waktu menjadi timestamp UNIX.
dt_parsetimestamp(value, tz=None)Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
Timestamp UNIX dikembalikan.
Contoh 1: Konversikan nilai bidang waktu menjadi timestamp UNIX dalam zona waktu Tokyo.
Log mentah:
time: 2019-06-03 2:41:26 tz: Asia/TokyoAturan transformasi:
e_set("dt_parsetimestamp", dt_parsetimestamp(v("time"),v("tz")))Hasil:
time: 2019-06-03 2:41:26 tz: Asia/Tokyo dt_parsetimestamp: 1559497286
Contoh 2: Konversikan nilai bidang waktu menjadi timestamp UNIX.
Log mentah:
time: 2019-06-03 2:41:26Aturan transformasi:
e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))Hasil:
time: 2019-06-03 2:41:26 dt_parsetimestamp: 1559529686
Contoh 3: Konversikan nilai bidang waktu menjadi timestamp UNIX.
Log mentah:
time: 2019-06-03 02:41:26+8:00Aturan transformasi:
e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))Hasil:
time: 2019-06-03 02:41:26+8:00 dt_parsetimestamp: 1559500886
dt_prop
Fungsi ini digunakan untuk mengembalikan atribut tertentu dari nilai atau ekspresi waktu, seperti hari dan tahun.
dt_prop(value, props)Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
props
String
Ya
Atribut yang ingin Anda peroleh. Misalnya, jika Anda menetapkan parameter atribut ke tahun, hanya tahun yang akan dikembalikan. Nilai valid:
day,year,month,hour,second,minute,microsecond,weekday,weekdayname,weekdayshortname,monthname,monthshortname,dayofyear,dayofweek,weekofyear,weekofyear_m,tzname,weekofmonth.Nilai atribut dikembalikan.
Contoh 1: Ekstrak nilai atribut hari dari bidang waktu.
Log mentah:
time: 2018-10-2 09:11:40Aturan transformasi:
e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"day"))Hasil:
time: 2018-10-2 09:11:40 dt_parsetimestamp: 2
Contoh 2: Ekstrak nilai atribut tahun dari bidang waktu.
Log mentah:
time: 2018-10-2 09:11:40Aturan transformasi:
e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"year"))Hasil:
time: 2018-10-2 09:11:40 dt_parsetimestamp: 2018
Contoh 3: Ekstrak nilai atribut weekdayname dari bidang waktu.
Log mentah:
time: 2018-10-2 09:11:40 weekdayname: weekdaynameAturan transformasi:
e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekdayname"))Hasil:
time: 2018-10-2 09:11:40 dt_prop: Tuesday
Contoh 4: Ekstrak nilai atribut weekofyear dari bidang waktu.
Log mentah:
time: 2018-10-2 09:11:40Aturan transformasi:
e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekofyear"))Hasil:
time: 2018-10-2 09:11:40 dt_prop: 39
dt_now
Fungsi ini digunakan untuk mengembalikan objek datetime saat ini.
dt_now(tz=None)Parameter
Tipe
Diperlukan
Deskripsi
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
Objek datetime di zona waktu tertentu dikembalikan.
Kembalikan objek datetime saat ini di zona waktu Shanghai.
Log mentah:
tz: Asia/ShanghaiAturan transformasi:
e_set("dt_now",dt_now(tz=v("tz")))Hasil:
tz: Asia/Shanghai dt_now: 2022-06-30 11:21:25.111836+08:00
dt_today
Fungsi ini digunakan untuk mengembalikan hanya tanggal saat ini.
dt_today(tz=None)Parameter
Tipe
Diperlukan
Deskripsi
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
Objek tanggal di zona waktu tertentu dikembalikan.
Kembalikan hanya tanggal saat ini.
Log mentah:
Tidak ada nilai defaultAturan transformasi:
e_set("dt_today", dt_today())Hasil:
dt_today: 2022-06-30 00:00:00
dt_utcnow
Fungsi ini digunakan untuk mengembalikan objek datetime saat ini di zona waktu saat ini.
dt_utcnow()Tidak ada.
Objek datetime saat ini di zona waktu saat ini dikembalikan.
Kembalikan objek datetime saat ini di zona waktu saat ini.
Log mentah:
NoneAturan transformasi:
e_set("dt_utcnow",dt_utcnow())Hasil:
dt_utcnow:2022-06-30 03:33:56.614005
dt_fromtimestamp
Fungsi ini digunakan untuk mengonversi timestamp UNIX menjadi objek datetime.
dt_fromtimestamp(value, tz=None)Parameter
Tipe
Diperlukan
Deskripsi
value
String
Ya
Nilai atau ekspresi waktu.
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
Objek datetime dikembalikan.
Contoh 1: Mengonversi nilai bidang waktu menjadi objek datetime.
Log mentah:
time: 1559500886Aturan transformasi:
e_set("dt_fromtimestamp",dt_fromtimestamp(v("time")))Hasil:
time: 1559500886 dt_fromtimestamp: 2019-06-02 18:41:26
Contoh 2: Mengonversi nilai bidang waktu menjadi objek datetime dalam zona waktu Shanghai.
Log mentah:
time: 1559500886 tz: Asia/ShanghaiAturan transformasi:
e_set("dt_fromtimestamp",dt_fromtimestamp(v("time"),tz=v("tz")))Hasil:
time: 1559500886 tz: Asia/Shanghai dt_fromtimestamp: 2019-06-03 02:41:26+08:00
dt_utcfromtimestamp
Fungsi ini digunakan untuk mengonversi timestamp UNIX menjadi objek datetime di zona waktu saat ini.
dt_utcfromtimestamp(value)Parameter
Tipe
Diperlukan
Deskripsi
value
String
Ya
Nilai atau ekspresi waktu.
Objek datetime dikembalikan.
Log mentah:
time: 1559500886Aturan transformasi:
e_set("dt_utcfromtimestamp",dt_utcfromtimestamp(v("time")))Hasil:
time: 1559500886 dt_utcfromtimestamp: 2019-06-02 18:41:26
dt_strptime
Fungsi ini digunakan untuk mengurai string waktu menjadi objek datetime.
dt_strptime(value, "format_string")Parameter
Tipe
Diperlukan
Deskripsi
value
String
Ya
Nilai atau ekspresi waktu.
fmt
String
Tidak
Format string. Untuk informasi lebih lanjut, lihat Direktif pemformatan tanggal dan waktu.
Objek datetime dikembalikan.
Log mentah:
time: 2019/06/03 02-41-26 fmt: %Y/%m/%d %H-%M-%SAturan transformasi:
e_set("dt_strptime",dt_strptime(v("time"),v("fmt")))Hasil:
time: 2019/06/03 02-41-26 fmt: %Y/%m/%d %H-%M-%S dt_strptime: 2019-06-03 02:41:26
dt_currentstamp
Fungsi ini digunakan untuk mengembalikan timestamp UNIX saat ini.
dt_currentstamp(value, normalize='floor')Parameter
Tipe
Diperlukan
Deskripsi
value
String
Ya
Nilai atau ekspresi waktu.
normalize
String
Tidak
Format numerik yang Anda inginkan agar fungsi mengembalikan hasilnya. Nilai valid:
floor: membulatkan angka ke bawah ke bilangan bulat terdekat. Ini adalah nilai default.int: mengembalikan bagian integer dari angka.round: membulatkan angka ke bilangan bulat terdekat.ceil: membulatkan angka ke atas ke bilangan bulat terdekat.
Timestamp UNIX saat ini dikembalikan.
Log mentah:
Tidak ada nilai defaultAturan transformasi:
e_set("dt_currentstamp",dt_currentstamp())Hasil:
dt_currentstamp: 1656560437
dt_totimestamp
Fungsi ini digunakan untuk mengonversi objek datetime menjadi timestamp UNIX.
dt_totimestamp(timeexpression)Parameter
Tipe
Diperlukan
Deskripsi
timeexpression
Objek datetime
Ya
Objek datetime yang ingin Anda konversi.
Timestamp UNIX dikembalikan.
Log mentah:
time: 2019-06-03 2:41:26Aturan transformasi:
e_set("dt_totimestamp",dt_totimestamp(dt_parse(v("time"))))Hasil:
time: 2019-06-03 2:41:26 dt_totimestamp: 1559529686
dt_strftime
Fungsi ini digunakan untuk mengonversi objek datetime menjadi string dalam format tertentu.
dt_strftime(timeexpression, "format_string")Parameter
Tipe
Diperlukan
Deskripsi
timeexpression
Objek datetime
Ya
Objek datetime yang ingin Anda konversi.
format_string
String
Ya
Format string. Untuk informasi lebih lanjut, lihat Direktif pemformatan tanggal dan waktu.
String terformat dikembalikan.
Konversikan nilai bidang waktu menjadi string dengan format tertentu.
Log mentah:
time: 2019-06-03 2:41:26 fmt: %Y/%m/%d %H-%M-%SAturan transformasi:
e_set("dt_strftime",dt_strftime(dt_parse(v("time")),v("fmt")))Hasil:
time: 2019-06-03 2:41:26 fmt: %Y/%m/%d %H-%M-%S dt_strftime: 2019/06/03 02-41-26
dt_strftimestamp
Fungsi ini digunakan untuk mengonversi timestamp UNIX menjadi string dalam format tertentu.
dt_strftimestamp(value, fmt="format_string", tz=None)Parameter
Tipe
Diperlukan
Deskripsi
value
String
Ya
Timestamp UNIX yang ingin Anda konversi.
fmt
String
Ya
Format string. Untuk informasi lebih lanjut, lihat Direktif pemformatan tanggal dan waktu.
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
String terformat dikembalikan.
Contoh 1
Log mentah:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%SAturan transformasi:
e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt")))Hasil:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S dt_strftimestamp: 2019/06/02 18-41-26
Contoh 2
Log mentah:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S tz: Asia/TokyoAturan transformasi:
e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt"),v("tz")))Hasil:
dt_strftimestamp:2019/06/03 03-41-26 fmt:%Y/%m/%d %H-%M-%S time:1559500886 tz:Asia/Tokyo
dt_truncate
Fungsi ini digunakan untuk mengekstrak nilai waktu dari nilai atau ekspresi waktu berdasarkan granularitas waktu tertentu.
dt_truncate(value, unit='day')Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
unit
String
Ya
Granularitas waktu yang ingin Anda peroleh. Nilai default: day. Nilai valid:
second,minute,<num>_minute(misalnya, 5_minute, 19_minute, dan 2_minute),hour,day,week,month,quarter,half_year, danyear.Nilai waktu yang diekstrak dikembalikan.
Contoh 1
Log mentah:
time: 2019-06-03 2:41:26 unit: yearAturan transformasi:
e_set("dt_truncate",dt_truncate(v("time"),v("unit")))Hasil:
time: 2019-06-03 2:41:26 unit: year dt_truncate: 2019-01-01 00:00:00
Contoh 2
Log mentah:
time: 2019-06-03 2:41:26 unit: hourAturan transformasi:
e_set("dt_truncate",dt_truncate(v("time"),v("unit")))Hasil:
time: 2019-06-03 2:41:26 unit: hour dt_truncate: 2019-06-03 02:00:00
dt_add
Fungsi ini digunakan untuk mengubah nilai atau ekspresi waktu berdasarkan granularitas waktu tertentu.
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)Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Ekspresi datetime.
dt1
String, timestamp UNIX, atau objek datetime
Tidak
Ekspresi datetime. Nilai default: None.
dt2
String, timestamp UNIX, atau objek datetime
Tidak
Ekspresi datetime. Nilai default: None.
year/years
Angka
Tidak
year: tahun yang digunakan untuk mengganti tahun dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
year=2020. Nilai default: None.years: jumlah tahun yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
years=1, fungsi akan menambahkan satu tahun ke tahun tersebut.
day/days
Angka
Tidak
day: hari yang digunakan untuk mengganti hari dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
day=1. Nilai default: None.days: jumlah hari yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
days=1, fungsi akan menambahkan satu hari ke hari tersebut.
hour/hours
Angka
Tidak
hour: jam yang digunakan untuk mengganti jam dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
hour=1. Nilai default: None.hours: jumlah jam yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
hours=1, fungsi akan menambahkan satu jam ke jam tersebut.
minute/minutes
Angka
Tidak
minute: menit yang digunakan untuk mengganti menit dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
minute=1. Nilai default: None.minutes: jumlah menit yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
minutes=1, fungsi akan menambahkan satu menit ke menit tersebut.
second/seconds
Angka
Tidak
second: detik yang digunakan untuk mengganti detik dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
second=1. Nilai default: None.seconds: jumlah detik yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
seconds=1, fungsi akan menambahkan satu detik ke detik tersebut.
microsecond/microseconds
Angka
Tidak
microsecond: mikrodetik yang digunakan untuk mengganti mikrodetik dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
microsecond=1. Nilai default: None.microseconds: jumlah mikrodetik yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
microseconds=1, fungsi akan menambahkan satu mikrodetik ke mikrodetik tersebut.
week/weeks
Angka
Tidak
week: minggu yang digunakan untuk mengganti minggu dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
week=1. Nilai default: None.weeks: jumlah minggu yang ingin Anda offset dari waktu yang ditentukan. Misalnya, jika Anda menetapkan
weeks=1, fungsi akan menambahkan satu minggu ke minggu tersebut.
weekday
Angka
Tidak
Hari kerja yang digunakan untuk mengganti hari kerja dalam waktu yang ditentukan. Misalnya, Anda dapat menetapkan
weekday=dt_MO(1). Nilai default: None.Nilai baru dari ekspresi waktu dikembalikan.
Contoh 1
Log mentah:
dt: 2018-10-10 1:2:3 dt1: 2018-11-3 11:12:13 dt2: 2018-10-1 10:10:10Aturan transformasi:
e_set("dt_add",dt_add(dt_parse(v("dt")), dt1=dt_parse(v("dt1")), dt2=dt_parse(v("dt2"))))Hasil:
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
Contoh 2
Log mentah:
dt: 2018-10-11 02:03:04 year: 2019Aturan transformasi:
e_set("dt_add", dt_add(dt_parse(v("dt")), year=ct_int(v("year"))))Hasil:
dt:2018-10-11 02:03:04 dt_add:2019-10-11 02:03:04 year:2019
dt_MO
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke waktu yang sama pada hari Senin ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter weekday dari fungsi dt_add.
dt_MO(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi dikembalikan.
Log mentah:
time: 2019-08-13 02:03:04Aturan transformasi:
e_set("dt_MO",dt_add(v("time"),weekday=dt_MO(1)))Hasil:
time: 2019-08-13 02:03:04 dt_MO: 2019-08-19 02:03:04
dt_TU
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke tanggal Selasa ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter weekday dari fungsi dt_add.
dt_TU(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi dikembalikan.
Untuk lebih banyak contoh, lihat dt_MO.
dt_WE
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke tanggal Rabu ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter weekday dari fungsi dt_add.
dt_WE(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi dikembalikan.
Untuk lebih banyak contoh, lihat dt_MO.
dt_TH
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke tanggal Kamis ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter weekday dari fungsi dt_add.
dt_TH(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi dikembalikan.
Untuk lebih banyak contoh, lihat dt_MO.
dt_FR
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke tanggal Jumat ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter weekday dari fungsi dt_add.
dt_FR(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi dikembalikan.
Untuk lebih banyak contoh, lihat dt_MO.
dt_SA
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke tanggal Sabtu ke-N sebelumnya atau berikutnya. Nilai offset N diteruskan ke parameter weekday dari fungsi dt_add.
dt_SA(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi telah dikembalikan.
Untuk lebih banyak contoh, lihat dt_MO.
dt_SU
Fungsi ini digunakan untuk mengimbangi waktu tertentu ke tanggal Minggu ke-N sebelumnya atau berikutnya. Nilai offset N dilewatkan ke parameter weekday dari fungsi dt_add.
dt_SU(Integer_or_negative)Parameter
Tipe
Diperlukan
Deskripsi
Integer_or_negative
Angka
Ya
Nilai offset. Jika Anda ingin melewatkan bilangan bulat negatif, gunakan
op_neg(Bilangan bulat positif). Misalnya, gunakanop_neg(1)untuk menunjukkan -1.Waktu yang diimbangi dikembalikan.
Untuk lebih banyak contoh, lihat dt_MO.
dt_astimezone
Fungsi ini digunakan untuk mengonversi nilai atau ekspresi waktu menjadi objek datetime di zona waktu tertentu.
dt_astimezone(value, tz, reset=False)Parameter
Tipe
Diperlukan
Deskripsi
value
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
tz
String
Tidak
Zona waktu. Nilai default: None. Untuk informasi lebih lanjut, lihat Zona waktu.
reset
Bool
Tidak
Menentukan apakah akan mengubah zona waktu. Nilai default False menentukan bahwa objek datetime dikembalikan di zona waktu saat ini. Nilai True menentukan bahwa objek datetime dikembalikan di zona waktu yang ditentukan.
Objek datetime di zona waktu tertentu dikembalikan.
Contoh 1
Log mentah:
time: 2019-06-03 2:41:26 tz: UTCAturan transformasi:
e_set("dt_astimezone",dt_astimezone(dt_parse(v("time")), v("tz")))Hasil:
time: 2019-06-03 2:41:26 tz: UTC dt_astimezone: 2019-06-03 02:41:26+00:00
Contoh 2
Log mentah:
time: 2019-06-01 10:10:10+10:00 tz: Asia/TokyoAturan transformasi:
e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=True))Hasil:
time: 2019-06-01 10:10:10+10:00 tz: Asia/Tokyo dt_astimezone: 2019-06-01 10:10:10+09:00
Contoh 3
Log mentah:
time: 2019-06-01 10:10:10+08:00 tz: Asia/TokyoAturan transformasi:
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))Hasil:
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
Fungsi ini digunakan untuk mengembalikan selisih antara dua nilai atau antara nilai dua ekspresi waktu berdasarkan granularitas waktu tertentu.
dt_diff(value1, value2, unit='second', normalize='floor')Parameter
Tipe
Diperlukan
Deskripsi
value1
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
value2
String, timestamp UNIX, atau objek datetime
Ya
Nilai atau ekspresi waktu.
unit
String
Tidak
Granularitas waktu dalam mana Anda ingin fungsi mengembalikan selisih. Nilai default:
second. Nilai valid: second,microsecond,millisecond,minutes,hours, danday.normalize
String
Tidak
Format numerik dalam mana Anda ingin fungsi mengembalikan hasilnya. Nilai valid:
floor: membulatkan angka ke bawah ke bilangan bulat terdekat. Nilai default: floor.int: mengembalikan bagian integer dari angka.round: mempertahankan N tempat desimal.ceil: membulatkan angka ke atas ke bilangan bulat terdekat.
Selisih antara dua nilai dikembalikan berdasarkan granularitas waktu tertentu.
Contoh 1: Hitung selisih antara nilai bidang time1 dan time2. Unit: detik.
Log mentah:
time1: 2018-10-1 10:10:10 time2: 2018-10-1 10:10:10Aturan transformasi:
e_set("diff",dt_diff(v("time1"), v("time2")))Hasil:
time1: 2018-10-1 10:10:10 time2: 2018-10-1 10:10:10 diff: 0
Contoh 2: Hitung selisih antara nilai bidang time1 dan time2. Unit: detik.
Log mentah:
time1: 2018-10-1 11:10:10 time2: 2018-10-1 10:10:10Aturan transformasi:
e_set("diff",dt_diff(v("time1"), v("time2")))Hasil:
time1: 2018-10-1 11:10:10 time2: 2018-10-1 10:10:10 diff: 3600
Contoh 3: Hitung selisih antara nilai bidang time1 dan time2. Unit: mikrodetik.
Log mentah:
time1: 2018-10-1 11:10:11 time2: 2018-10-1 10:10:10 unit: microsecondAturan transformasi:
e_set("diff",dt_diff(v("time1"), v("time2"),v("unit")))Hasil:
diff:3601000000 time1:2018-10-1 11:10:11 time2:2018-10-1 10:10:10 unit:microsecond
Contoh 4: Hitung selisih antara nilai bidang time1 dan time2, lalu bulatkan ke bawah ke bilangan bulat terdekat. Unit: menit.
Log mentah:
time1: 2018-10-1 11:11:59 time2: 2018-10-1 10:10:00 unit: minute normalize: floorAturan transformasi:
e_set("diff", dt_diff(v("time1"), v("time2"), v("unit"), v("normalize")))Hasil:
diff:61 normalize:floor time1:2018-10-1 11:11:59 time2:2018-10-1 10:10:00 unit:minute
Contoh 5: Hitung selisih antara nilai bidang time1 dan time2, lalu bulatkan ke bawah ke bilangan bulat terdekat. Unit: detik.
Log mentah:
time1: 10:00:00 time2: 11:00:00 unit: second normalize: floorAturan transformasi:
e_set("diff", dt_diff(v("time1"), v("time2"), v("unit"), v("normalize")))Hasil:
diff:-3600 normalize:floor time1:10:00:00 time2:11:00:00 unit:second