All Products
Search
Document Center

Simple Log Service:Kumpulkan log dengan timestamp presisi nanodetik

Last Updated:Aug 28, 2026

Aktifkan pengumpulan timestamp presisi nanodetik di Simple Log Service (SLS) dengan mengonfigurasi Logtail untuk mengurai dan menyimpan data waktu berpresisi tinggi. Timestamp yang dikumpulkan disimpan dalam dua bidang: __time__ berpresisi detik dan __time_ns_part__ sebagai offset nanodetik, sehingga memungkinkan pengurutan dan analisis log secara kronologis yang ketat.

Prasyarat

Sebelum mengonfigurasi pengumpulan timestamp presisi nanodetik, pastikan lingkungan Anda memenuhi persyaratan berikut:

  • Sistem operasi: Hanya Linux. Fitur ini tidak didukung di Windows. Konfigurasi yang diterapkan pada server Windows tidak berlaku.

  • Versi Logtail: LoongCollector (Logtail) 1.8.0 atau lebih baru.

  • Sumber daya SLS: Sebuah project dan sebuah LogStore.

Kasus penggunaan

Timestamp presisi nanodetik sangat penting dalam skenario di mana presisi tingkat detik tidak mencukupi:

  • Distributed tracing: Korelasikan span lintas layanan dengan akurasi sub-milidetik untuk mengidentifikasi bottleneck latensi.

  • High-frequency trading: Pertahankan urutan event yang ketat untuk log transaksi di mana perbedaan mikrodetik menentukan kausalitas.

  • Performance profiling: Analisis data waktu detail halus untuk mendeteksi anomali performa yang tidak dapat dibedakan oleh timestamp tingkat detik.

  • Strict log ordering: Pertahankan urutan eksak dari event log ber-volume tinggi yang terjadi dalam detik yang sama.

Cara kerja

LoongCollector (Logtail) mengumpulkan timestamp presisi nanodetik dengan menyimpan offset nanodetik selain timestamp standar berpresisi detik. Desain ini menjaga kompatibilitas dengan sistem waktu berbasis detik yang sudah ada sekaligus menyediakan pengurutan berpresisi tinggi.

Alur kerja pengumpulan mengikuti langkah-langkah berikut:

  1. Aktifkan dukungan nanodetik: Di parameter lanjutan konfigurasi koleksi Logtail, atur { "EnableTimestampNanosecond": true }.

  2. Urai log: Gunakan prosesor (delimiter, JSON, atau regular expression) untuk mengekstrak string timestamp berpresisi tinggi dari log mentah.

  3. Konversi waktu: Prosesor penguraian waktu mengonversi string waktu menjadi format waktu standar.

  4. Simpan waktu: SLS membagi waktu menjadi dua bidang:

    • __time__: Timestamp Unix standar (integer panjang), dalam satuan detik.

    • __time_ns_part__: Offset nanodetik (integer panjang). Nilai valid: 0 hingga 999.999.999.

  5. Kueri dan analisis: Urutkan berdasarkan kombinasi __time__ dan __time_ns_part__ untuk melakukan analisis log secara kronologis yang ketat.

Prosedur

Bagian ini menjelaskan alur kerja end-to-end lengkap menggunakan log JSON yang berisi timestamp presisi nanodetik. Alur kerja mencakup koleksi log, penguraian, konfigurasi indeks, serta kueri dan analisis.

Langkah 1: Buat project dan LogStore

Jika Anda sudah memiliki project dan LogStore, lewati ke Langkah 2: Konfigurasi kelompok mesin dan instal LoongCollector.

Jika belum, buat sumber daya yang mengelola dan menyimpan log Anda:

  1. Masuk ke konsol Simple Log Service.

  2. Klik Create Project dan konfigurasikan parameter berikut:

    • Region: Pilih wilayah berdasarkan asal log Anda. Wilayah tidak dapat diubah setelah project dibuat.

    • Project Name: Masukkan nama yang unik secara global dalam Alibaba Cloud. Nama tidak dapat diubah setelah project dibuat.

  3. Pertahankan pengaturan default untuk parameter lainnya dan klik Create. Untuk informasi lebih lanjut, lihat Manage projects.

  4. Klik nama project untuk masuk ke project tersebut.

  5. Di panel navigasi kiri, pilih imageLog Storage dan klik +.

  6. Di halaman Create LogStore, konfigurasikan parameter berikut:

    • Logstore Name: Tetapkan nama yang unik dalam project. Nama tidak dapat diubah setelah LogStore dibuat.

    • Logstore Type: Pilih Standard atau Query berdasarkan perbandingan spesifikasi.

    • Billing Mode:

      • Pay-by-feature: Anda ditagih secara terpisah untuk setiap sumber daya, seperti penyimpanan, indeks, serta operasi baca dan tulis. Mode ini cocok untuk skenario skala kecil atau skenario di mana penggunaan fitur Anda belum pasti.

      • Pay-by-ingested-data: Anda hanya ditagih berdasarkan data mentah yang diingest. Mode ini mencakup periode penyimpanan gratis selama 30 hari dan fitur gratis seperti transformasi data dan pengiriman. Model biaya ini sederhana, sehingga cocok untuk skenario di mana periode penyimpanan mendekati 30 hari atau pipeline pemrosesan data kompleks.

    • Data Retention Period: Tetapkan jumlah hari untuk menyimpan log. Nilai valid: 1 hingga 3.650. Nilai 3.650 menunjukkan retensi permanen. Nilai default: 30.

  7. Pertahankan pengaturan default untuk parameter lainnya dan klik OK. Untuk informasi lebih lanjut, lihat Manage LogStores.

Langkah 2: Konfigurasi kelompok mesin dan instal LoongCollector

Instal LoongCollector di server Anda dan tambahkan server tersebut ke kelompok mesin. Topik ini menggunakan contoh instance ECS yang telah terinstal LoongCollector, di mana instance ECS dan project SLS berada dalam akun dan wilayah Alibaba Cloud yang sama. Jika instance ECS dan project tidak berada dalam akun atau wilayah yang sama, atau jika Anda menggunakan server yang dikelola sendiri, lihat Install LoongCollector untuk menginstal collector secara manual.

| Klik project target. Di halaman LogStores image:

  • Klik image di depan nama LogStore target untuk memperluasnya.

  • Klik image di samping Data Collection.

  • Di kotak dialog yang muncul, pilih templat log teks. Topik ini menggunakan templat Single Line - Text Logs sebagai contoh. Klik Integrate Now. Semua templat log teks hanya berbeda pada prosesor penguraian. Sisa proses konfigurasi sama, dan Anda dapat mengubah semua pengaturan nanti.

Langkah konfigurasi:

  1. Di halaman Machine Group Configurations, konfigurasikan parameter berikut:

    • Scenario: Servers

    • Installation Environment: ECS

  2. Konfigurasi kelompok mesin: Pilih tindakan yang sesuai dengan status instalasi LoongCollector dan status kelompok mesin server target:

    • Jika LoongCollector sudah terinstal dan server sudah termasuk dalam kelompok mesin, pilih kelompok tersebut dari daftar Source Machine Group dan tambahkan ke daftar Applied Machine Group. Anda tidak perlu membuat kelompok lagi.

    • Jika LoongCollector belum terinstal, klik Create Machine Group: Langkah-langkah berikut memandu Anda melalui instalasi otomatis LoongCollector dan pembuatan kelompok mesin baru.

      1. Sistem secara otomatis menampilkan daftar instance ECS yang berada di wilayah yang sama dengan project. Pilih satu atau beberapa instance dari mana Anda ingin mengumpulkan log.

      2. Klik Install and Create Machine Group. Sistem secara otomatis menginstal LoongCollector pada instance ECS yang dipilih.

      3. Konfigurasikan Name kelompok mesin dan klik OK. Jika instalasi gagal atau tetap dalam status menunggu, periksa apakah instance ECS berada di wilayah yang sama dengan project.

  3. Untuk menambahkan server yang telah terinstal LoongCollector ke kelompok mesin yang sudah ada, lihat topik FAQ How do I add a server to an existing machine group?

Langkah 3: Buat konfigurasi koleksi

Konfigurasi menggunakan konsol, buka halaman Logtail Configurations untuk menentukan aturan koleksi dan pemrosesan log.

1. Aktifkan dukungan presisi nanodetik Tentukan sumber log dan aturan koleksi, lalu aktifkan dukungan presisi nanodetik.

Global Configurations:

  • Configuration Name: Tetapkan nama yang unik dalam project. Nama tidak dapat diubah setelah konfigurasi dibuat.

  • Other Global Configurations: Aktifkan sakelar Advanced Parameters dan masukkan konten JSON berikut untuk mengaktifkan dukungan presisi nanodetik:

{
  "EnableTimestampNanosecond": true
}

Input Configurations:

  • Type: Text Log Collection.

  • File Path: Jalur tempat log dikumpulkan.

    • Linux: Dimulai dengan garis miring (/). Contohnya, /data/mylogs/**/*.log menentukan semua file dengan ekstensi .log di direktori /data/mylogs.

    • Windows: Dimulai dengan huruf drive. Contohnya: C:\Program Files\Intel\**\*.Log.

  • Maximum Directory Monitoring Depth: Kedalaman direktori maksimum yang dapat dicocokkan oleh wildcard ** di File Path. Nilai default: 0, yang hanya memantau direktori saat ini.

    2. Konfigurasi prosesor Karena log sumber berformat JSON, tambahkan prosesor Data Parsing (JSON Mode) di bagian Processing Steps. Prosesor ini memisahkan string yang berisi timestamp nanodetik dari log mentah dan menyimpannya sebagai bidang tersendiri.

  • Tambahkan contoh log

    Asumsikan file log berisi log dalam format berikut, di mana bidang asctime berisi timestamp dengan presisi nanodetik.

{
  "asctime": "2023-10-25 23:51:10,199999999",
  "filename": "generate_data.py",
  "levelname": "INFO",
  "lineno": 51,
  "module": "generate_data",
  "message": "{\"no\": 14, \"inner_loop\": 166, \"loop\": 27451, \"uuid\": \"9be98c29-22c7-40a1-b7ed-29ae6c8367af\"}",
  "threadName": "MainThread"
}
  • Tambahkan prosesor penguraian JSON

    Klik Add Processor, pilih Native Processor > Data Parsing (JSON Mode), lalu klik Confirm.

  • Tambahkan prosesor penguraian waktu

    Konversi string waktu yang diekstrak pada langkah sebelumnya (bidang asctime) menjadi timestamp nanodetik standar, dan gunakan sebagai waktu event log.

Nama prosesor

Fitur inti

Kasus penggunaan

Time Parsing

Penguraian waktu dasar

Skenario sederhana dengan format tetap.

Time - Strptime

Fleksibel, dan mendukung berbagai format strptime

Direkomendasikan. Fitur lengkap yang kompatibel dengan standar industri.

Time - Go

Menggunakan format pustaka standar Go

Skenario di mana Anda terbiasa dengan Go atau format log sesuai dengan pustaka standar Go.

Penguraian waktu

Klik Add Processor, pilih Native Processor > Time Parsing, dan konfigurasikan parameter berikut:

  • Original Field: Bidang asli yang menyimpan waktu sebelum log diurai. Dalam contoh ini, bidang tersebut adalah asctime.

  • Time Format: Tetapkan format waktu yang sesuai dengan isi bidang waktu di log Anda. Dalam contoh ini, formatnya adalah %Y-%m-%d %H:%M:%S,%f, di mana %f adalah bagian pecahan detik dan mendukung presisi hingga nanodetik.

Catatan

String format waktu harus identik dengan format waktu di log mentah, termasuk pemisah antara detik dan nanodetik, seperti , atau .. Jika tidak, log tidak dapat diurai dengan benar.

  • Time Zone: Pilih zona waktu bidang waktu di log Anda. Secara default, zona waktu server digunakan.

Time - strptime

Klik Add Processor, pilih Extended Processor > Time - Strptime, dan konfigurasikan parameter berikut:

  • Original Field: Bidang asli yang menyimpan waktu sebelum log diurai. Dalam contoh ini, bidang tersebut adalah asctime.

  • Original Time Format: Tetapkan format waktu yang sesuai dengan isi bidang waktu di log Anda. Dalam contoh ini, formatnya adalah %Y-%m-%d %H:%M:%S,%f, di mana %f adalah bagian pecahan detik dan mendukung presisi hingga nanodetik.

Catatan

String format waktu harus identik dengan format waktu di log mentah, termasuk pemisah antara detik dan nanodetik, seperti , atau .. Jika tidak, log tidak dapat diurai dengan benar.

Time - Go

Klik Add Processor, pilih Extended Processor > Time - Go, dan konfigurasikan parameter berikut:

  • Original Time Field: Bidang asli yang menyimpan waktu sebelum log diurai. Dalam contoh ini, bidang tersebut adalah asctime.

  • Original Time Format: Tetapkan format waktu yang sesuai dengan bidang waktu di log mentah. Tulis format berdasarkan spesifikasi format waktu Go. Templat format waktu adalah waktu kelahiran bahasa Go, 2006-01-02 15:04:05 -0700 MST. Format waktu untuk contoh ini adalah 2006-01-02 15:04:05,999999999.

Catatan

String format waktu harus identik dengan format waktu di log mentah, termasuk pemisah antara detik dan nanodetik, seperti , atau .. Jika tidak, log tidak dapat diurai dengan benar.

  • New Time Field: Bidang target yang menyimpan waktu setelah log diurai. Dalam contoh ini, bidang tersebut adalah result_asctime.

  • New Time Format: Format waktu setelah log diurai. Tulis format berdasarkan spesifikasi format waktu Go. Dalam contoh ini, formatnya adalah 2006-01-02 15:04:05,999999999Z07:00.

3. Konfigurasi indeks Setelah menyelesaikan konfigurasi Logtail, klik Next. Halaman Query and Analysis Configurations akan muncul:

  • Sistem mengaktifkan full-text indexing secara default, yang mendukung pencarian kata kunci dalam konten log mentah.

  • Untuk menjalankan kueri eksak berdasarkan bidang, tunggu hingga Preview Data dimuat di halaman, lalu klik Automatic Index Generation. SLS menghasilkan field index berdasarkan entri pertama dalam data pratinjau.

    Setelah menyelesaikan konfigurasi, klik Next untuk menyelesaikan seluruh proses koleksi.

Konfigurasi menggunakan CRD (skenario Kubernetes) Di kluster ACK atau kluster Kubernetes yang dikelola sendiri, Anda dapat mengonfigurasi koleksi timestamp presisi nanodetik menggunakan CRD AliyunLog. Simpan konten YAML berikut ke file dan jalankan kubectl apply -f <filename> untuk menerapkan konfigurasi. Contoh berikut menunjukkan konfigurasi untuk ketiga prosesor tersebut.

Penguraian waktu

apiVersion: telemetry.alibabacloud.com/v1alpha1
kind: ClusterAliyunPipelineConfig
metadata:
  name: ${your-config-name}
spec:
  config:
    aggregators: []
    global:
      EnableTimestampNanosecond: true
    inputs:
      - Type: input_file
        FilePaths:
          - /test/sls/json_nano.log
        MaxDirSearchDepth: 0
        FileEncoding: utf8
        EnableContainerDiscovery: true
    processors:
      - Type: processor_parse_json_native
        SourceKey: content
      - Type: processor_parse_timestamp_native
        SourceKey: asctime
        SourceFormat: '%Y-%m-%d %H:%M:%S,%f'
    flushers:
      - Type: flusher_sls
        Logstore: ${your-logstore-name}
    sample: |-
      {
        "asctime": "2025-11-03 15:39:14,229939478",
        "filename": "log_generator.sh",
        "levelname": "INFO",
        "lineno": 204,
        "module": "log_generator",
        "message": "{\"no\": 45, \"inner_loop\": 15, \"loop\": 1697, \"uuid\": \"80366fca-a57d-b65a-be07-2ac1173505d9\"}",
        "threadName": "MainThread"
      }
  project:
    name: ${your-project-name}
  logstores:
    - name: ${your-logstore-name}

Time - strptime

apiVersion: telemetry.alibabacloud.com/v1alpha1
kind: ClusterAliyunPipelineConfig
metadata:
  name: ${your-config-name}
spec:
  config:
    aggregators: []
    global:
      EnableTimestampNanosecond: true
    inputs:
      - Type: input_file
        FilePaths:
          - /test/sls/json_nano.log
        MaxDirSearchDepth: 0
        FileEncoding: utf8
        EnableContainerDiscovery: true
    processors:
      - Type: processor_parse_json_native
        SourceKey: content
      - Type: processor_strptime
        SourceKey: asctime
        Format: '%Y-%m-%d %H:%M:%S,%f'
        KeepSource: true
        AlarmIfFail: true
        AdjustUTCOffset: false
    flushers:
      - Type: flusher_sls
        Logstore: ${your-logstore-name}
    sample: |-
      {
        "asctime": "2025-11-03 15:39:14,229939478",
        "filename": "log_generator.sh",
        "levelname": "INFO",
        "lineno": 204,
        "module": "log_generator",
        "message": "{\"no\": 45, \"inner_loop\": 15, \"loop\": 1697, \"uuid\": \"80366fca-a57d-b65a-be07-2ac1173505d9\"}",
        "threadName": "MainThread"
      }
  project:
    name: ${your-project-name}
  logstores:
    - name: ${your-logstore-name}

Time - Go

apiVersion: telemetry.alibabacloud.com/v1alpha1
kind: ClusterAliyunPipelineConfig
metadata:
  name: ${your-config-name}
spec:
  config:
    aggregators: []
    global:
      EnableTimestampNanosecond: true
    inputs:
      - Type: input_file
        FilePaths:
          - /test/sls/json_nano.log
        MaxDirSearchDepth: 0
        FileEncoding: utf8
        EnableContainerDiscovery: true
    processors:
      - Type: processor_parse_json_native
        SourceKey: content
      - Type: processor_gotime
        SourceKey: asctime
        SourceFormat: '2006-01-02 15:04:05,999999999'
        DestKey: result_asctime
        DestFormat: '2006-01-02 15:04:05,999999999Z07:00'
        SetTime: true
        KeepSource: true
        NoKeyError: true
        AlarmIfFail: true
    flushers:
      - Type: flusher_sls
        Logstore: ${your-logstore-name}
    sample: |-
      {
        "asctime": "2025-11-03 15:39:14,229939478",
        "filename": "log_generator.sh",
        "levelname": "INFO",
        "lineno": 204,
        "module": "log_generator",
        "message": "{\"no\": 45, \"inner_loop\": 15, \"loop\": 1697, \"uuid\": \"80366fca-a57d-b65a-be07-2ac1173505d9\"}",
        "threadName": "MainThread"
      }
  project:
    name: ${your-project-name}
  logstores:
    - name: ${your-logstore-name}

Setelah menerapkan konfigurasi CRD, verifikasi bahwa konfigurasi koleksi berlaku dengan memeriksa LogStore untuk log masuk yang memiliki timestamp presisi nanodetik.

Langkah 4: Verifikasi hasil

Setelah menyelesaikan konfigurasi, tunggu beberapa saat hingga data log baru dikumpulkan ke LogStore.

Di halaman kueri dan analisis SLS, lihat log yang dikumpulkan. Konsol secara otomatis mengoptimalkan tampilan berdasarkan informasi waktu berpresisi tinggi dan menampilkan waktu dalam format milidetik, mikrodetik, atau nanodetik.

Dalam hasil kueri log, timestamp muncul dalam format seperti 2025-11-03 17:34:40.747598929.

Untuk memverifikasi bahwa presisi nanodetik berfungsi dengan benar, jalankan kueri untuk memeriksa bidang __time_ns_part__:

* | SELECT __time__, __time_ns_part__, * FROM log WHERE __time_ns_part__ > 0 ORDER BY __time__, __time_ns_part__ LIMIT 10

Jika kueri mengembalikan hasil dengan nilai __time_ns_part__ dalam rentang 0 hingga 999.999.999, presisi nanodetik telah diaktifkan dan berfungsi dengan benar. Jika bidang __time_ns_part__ kosong atau hanya berisi nol, tinjau kembali konfigurasi koleksi Anda untuk memverifikasi bahwa:

  • Sakelar Advanced Parameters diaktifkan dan berisi { "EnableTimestampNanosecond": true }.

  • Prosesor penguraian waktu dikonfigurasi dengan format waktu yang sesuai dengan timestamp log mentah Anda.

  • Versi Logtail di server Anda adalah 1.8.0 atau lebih baru.

Pertanyaan umum

Mengapa timestamp nanodetik di log yang dikumpulkan tidak diurai dengan benar?

Setelah mengonfigurasi koleksi, waktu berpresisi tinggi tidak diekstrak seperti yang diharapkan.

Waktu indeks di penampil log adalah 10-26 00:30:39, tetapi asctime dari catatan log adalah 2023-10-26 00:30:10,199999999. Kedua nilai tidak cocok, yang menunjukkan bahwa waktu berpresisi tinggi tidak diekstrak dengan benar. Detail catatan log adalah sebagai berikut:

__file_offset__  xxx
__tag__  xxx
asctime: 2023-10-26 00:30:10,199999999
filename: xxx
levelname: INFO
lineno: 51
message: {"no": 14, "inner_loop": 166, "loop": 27451, "uuid": "9be98c29-22c7-40a1-b7ed-29ae6c8367af"}
module: generate_data
threadName: MainThread

Penyebab

Mode prosesor mendukung %f, tetapi format waktu harus identik dengan isi waktu sumber.

Solusi

  1. Masuk ke server LoongCollector (Logtail) dan periksa lognya. Anda menemukan banyak log exception STRPTIME_PARSE_ALARM.

    tail -f /usr/local/ilogtail/logtail_plugin.LOG
    2023-10-26 00:30:39 [WRN] [strptime.go:164] [processLog] [##1.0##xxxx,xxx]    AlarmType:STRPTIME_PARSE_ALARM    strptime(2023-10-26 00:30:10,199999999, %Y-%m-%d %H:%M:%S %f) failed: 0001-01-01 00:00:00 +0000 UTC, <nil>
  2. Ubah format penguraian log prosesor.

    Di log mentah, waktu adalah 2023-10-26 00:30:10,199999999, dan pemisah antara detik dan waktu berpresisi tinggi (milidetik dalam kasus ini) adalah koma (,). Di format penguraian %Y-%m-%d %H:%M:%S %f, pemisah antara detik dan waktu berpresisi tinggi adalah spasi. Untuk memperbaiki masalah ini, ubah format konversi waktu di konfigurasi koleksi menjadi %Y-%m-%d %H:%M:%S,%f.

Penagihan dan keterbatasan

  • Dampak biaya: Bidang __time_ns_part__ disimpan sebagai bagian dari konten log, yang meningkatkan penggunaan penyimpanan log mentah. Kenaikan biaya sebanding dengan volume log Anda. Evaluasi biaya penyimpanan berdasarkan laju ingest log aktual dan periode retensi Anda.

  • Keterbatasan lingkungan: Fitur ini hanya didukung oleh Logtail 1.8.0 atau lebih baru di Linux. Konfigurasi tidak berlaku di Windows.

Referensi

Lampiran 1: Format waktu log umum

Di server Linux, Logtail mendukung semua format waktu yang disediakan oleh fungsi strftime. Setiap string waktu log yang dapat diformat oleh fungsi strftime dapat diurai dan digunakan oleh Logtail.

Format waktu

Deskripsi

Contoh

%a

Nama hari dalam minggu singkat.

Fri

%A

Nama hari dalam minggu lengkap.

Friday

%b

Nama bulan singkat.

Jan

%B

Nama bulan lengkap.

January

%d

Hari dalam bulan, dalam desimal. Nilai valid: 01 hingga 31.

07, 31

%f

Bagian pecahan detik (milidetik, mikrodetik, atau nanodetik)

123456789

%h

Nama bulan singkat. Setara dengan %b.

Jan

%H

Jam, dalam format 24 jam.

22

%I

Jam, dalam format 12 jam.

11

%m

Bulan, dalam desimal. Nilai valid: 01 hingga 12.

08

%M

Menit, dalam desimal. Nilai valid: 00 hingga 59.

59

%n

Baris baru.

Baris baru

%p

AM atau PM.

AM, PM

%r

Waktu dalam format 12 jam. Setara dengan %I:%M:%S %p.

11:59:59 AM

%R

Jam dan menit. Setara dengan %H:%M.

23:59

%S

Detik, dalam desimal. Nilai valid: 00 hingga 59.

59

%t

Karakter tab.

N/A

%y

Tahun tanpa abad, dalam desimal. Nilai valid: 00 hingga 99.

04, 98

%Y

Tahun, dalam desimal.

2004, 1998

%C

Abad, dalam desimal. Nilai valid: 00 hingga 99.

16

%e

Hari dalam bulan, dalam desimal. Nilai valid: 1 hingga 31. Diperlukan spasi awal untuk nilai satu digit.

7, 31

%j

Hari dalam tahun, dalam desimal. Nilai valid: 001 hingga 366.

365

%u

Hari dalam minggu, dalam desimal, di mana 1 menunjukkan Senin. Nilai valid: 1 hingga 7.

2

%U

Minggu dalam tahun, di mana Minggu adalah hari pertama minggu. Nilai valid: 00 hingga 53.

23

%V

Minggu dalam tahun, di mana Senin adalah hari pertama minggu. Nilai valid: 01 hingga 53. Jika minggu pertama Januari memiliki empat hari atau lebih, maka itu adalah minggu 1. Jika tidak, minggu berikutnya adalah minggu 1.

24

%w

Hari dalam minggu, dalam desimal, di mana 0 menunjukkan Minggu. Nilai valid: 0 hingga 6.

5

%W

Minggu dalam tahun, di mana Senin adalah hari pertama minggu. Nilai valid: 00 hingga 53.

23

%c

Tanggal dan waktu standar.

Tue Nov 20 14:12:58 2020

%x

Tanggal standar, tanpa waktu.

Tue Nov 20 2020

%X

Waktu standar, tanpa tanggal.

11:59:59

%s

Timestamp Unix.

1476187251

Contoh format waktu Tabel berikut mencantumkan standar waktu umum, contoh, dan ekspresi waktu yang sesuai.

Contoh

Ekspresi waktu

Standar waktu

2017-12-11 15:05:07

%Y-%m-%d %H:%M:%S

Custom

[2017-12-11 15:05:07.012]

[%Y-%m-%d %H:%M:%S.%f]

Custom

2017-12-11 15:05:07.123

%Y-%m-%d %H:%M:%S.%f

Custom

02 Jan 06 15:04 MST

%d %b %y %H:%M %Z

RFC822

02 Jan 06 15:04 -0700

%d %b %y %H:%M %z

RFC822Z

Monday, 02-Jan-06 15:04:05 MST

%A, %d-%b-%y %H:%M:%S %Z

RFC850

Mon, 02 Jan 2006 15:04:05 MST

%a, %d %b %Y %H:%M:%S %Z

RFC1123

2006-01-02T15:04:05Z07:00

%Y-%m-%dT%H:%M:%S%z

RFC3339

2006-01-02T15:04:05.999999999Z07:00

%Y-%m-%dT%H:%M:%S.%f%z

RFC3339Nano

1637843406

%s

Custom

1637843406123

%s

Custom (Simple Log Service (SLS) memproses data dengan presisi tingkat detik)

Lampiran 2: Format waktu Go

Blok kode berikut mencantumkan format waktu resmi Go:

const (
    Layout      = "01/02 03:04:05PM '06 -0700" // Waktu referensi, dalam urutan numerik.
    ANSIC       = "Mon Jan _2 15:04:05 2006"
    UnixDate    = "Mon Jan _2 15:04:05 MST 2006"
    RubyDate    = "Mon Jan 02 15:04:05 -0700 2006"
    RFC822      = "02 Jan 06 15:04 MST"
    RFC822Z     = "02 Jan 06 15:04 -0700" // RFC822 dengan zona numerik
    RFC850      = "Monday, 02-Jan-06 15:04:05 MST"
    RFC1123     = "Mon, 02 Jan 2006 15:04:05 MST"
    RFC1123Z    = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 dengan zona numerik
    RFC3339     = "2006-01-02T15:04:05Z07:00"
    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
    Kitchen     = "3:04PM"// Stempel waktu praktis.
    Stamp      = "Jan _2 15:04:05"
    StampMilli = "Jan _2 15:04:05.000"
    StampMicro = "Jan _2 15:04:05.000000"
    StampNano  = "Jan _2 15:04:05.000000000"
)