全部产品
Search
文档中心

Simple Log Service:Kumpulkan log dengan cap waktu presisi nanodetik

更新时间:Nov 09, 2025

Aktifkan presisi nanodetik dalam konfigurasi koleksi Logtail Anda dan konfigurasikan plugin penguraian waktu untuk mengumpulkan serta menyimpan cap waktu presisi tinggi pada tingkat milidetik, mikrodetik, atau nanodetik. Setelah pengumpulan, Simple Log Service (SLS) memisahkan waktu menjadi dua bidang: cap waktu standar tingkat detik __time__ dan offset nanodetik __time_ns_part__. Proses ini memungkinkan pengurutan dan analisis log presisi tinggi.

Kasus penggunaan

Dalam skenario seperti pelacakan terdistribusi, perdagangan frekuensi tinggi, profil kinerja, atau di mana urutan log yang ketat sangat penting, presisi waktu dalam hitungan detik tidak mencukupi. Log dalam skenario ini sering kali berisi cap waktu dengan presisi milidetik, mikrodetik, atau bahkan nanodetik. Panduan ini menjelaskan cara mengonfigurasi Logtail untuk mengumpulkan, menyimpan, dan menganalisis informasi waktu presisi tinggi ini, memastikan akurasi dan urutan kronologis analisis log Anda.

Arsitektur solusi

LoongCollector (Logtail) mengumpulkan cap waktu dengan presisi nanodetik dengan menyimpan offset tingkat nanodetik selain cap waktu standar tingkat detik. Desain ini memastikan kompatibilitas dengan sistem waktu berbasis detik yang ada sambil memberikan kemampuan pengurutan dengan presisi tinggi.

Alur kerja inti adalah sebagai berikut:

  1. Aktifkan Dukungan Nanodetik: Di opsi lanjutan konfigurasi koleksi Logtail Anda, aktifkan pemrosesan waktu presisi tinggi dengan menyetel { "EnableTimestampNanosecond": true }. Ini memerlukan Logtail versi 1.8.0 atau lebih baru dan hanya tersedia di lingkungan Linux.

  2. Uraikan Log: Gunakan plugin penguraian, seperti pembatas, JSON, atau plugin ekspresi reguler, untuk mengekstrak string yang berisi cap waktu presisi tinggi dari log mentah.

  3. Konversi Waktu: Plugin penguraian waktu mengonversi string waktu yang diekstraksi menjadi format waktu standar.

  4. Simpan Waktu: Simple Log Service (SLS) membagi waktu menjadi dua bidang:

    • __time__: Cap waktu Unix standar (bilangan bulat panjang) dalam detik.

    • __time_ns_part__: Bagian nanodetik (bilangan bulat panjang), dengan rentang nilai dari 0 hingga 999.999.999.

  5. Kueri dan Analisis: Untuk melakukan analisis kronologis ketat, urutkan berdasarkan kedua bidang __time__ dan __time_ns_part__.

Langkah-langkah implementasi

Bagian ini menyediakan prosedur lengkap dari awal hingga akhir untuk pengumpulan log, penguraian, konfigurasi indeks, serta kueri dan analisis akhir, menggunakan log JSON dengan stempel waktu tingkat nanodetik sebagai contoh.

Langkah 1: Buat Proyek dan Logstore

Sebelum mengumpulkan log, Anda harus merencanakan dan membuat Proyek dan Logstore untuk mengelola serta menyimpannya.

  • Proyek: Unit manajemen sumber daya dalam Simple Log Service yang digunakan untuk mengisolasi dan mengelola log untuk proyek atau layanan yang berbeda.

  • Logstore: Unit penyimpanan untuk log di dalam sebuah Proyek.

Jika Anda sudah membuat Proyek dan Logstore, Anda dapat melewati langkah ini dan melanjutkan ke Langkah 2: Konfigurasi Kelompok Mesin (Instal LoongCollector).

  1. Masuk ke Konsol Layanan Log.

  2. Klik Create Project dan konfigurasikan parameter berikut:

    • Region: Pilih Region berdasarkan sumber log. Ini tidak dapat diubah setelah Proyek dibuat.

    • Nama Proyek: Nama tersebut harus unik secara global di Alibaba Cloud dan tidak dapat diubah setelah pembuatan.

    • Biarkan pengaturan default untuk konfigurasi lainnya dan klik Buat. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Kelola Proyek.

  3. Klik nama Proyek untuk masuk ke Proyek target.

  4. Di panel navigasi di sebelah kiri, pilih imageLog Storage, lalu klik +.

  5. Di halaman Buat Logstore, lengkapi konfigurasi inti berikut:

    • Logstore Name: Tetapkan nama yang unik di dalam Proyek. Nama tersebut tidak dapat diubah setelah pembuatan.

    • Logstore Type: Pilih Standar atau jenis Query berdasarkan perbandingan spesifikasi.

    • Billing Method:

      • Pay-by-Feature: Biaya dihitung secara independen untuk setiap sumber daya, seperti penyimpanan, indeks, dan operasi baca/tulis. Metode ini cocok untuk skenario berskala kecil atau ketika penggunaan fitur belum pasti.

      • Pay-by-Written-Data: Biaya didasarkan hanya pada jumlah data mentah yang ditulis. Metode ini mencakup periode penyimpanan gratis selama 30 hari dan fitur gratis seperti transformasi data dan pengiriman. Model biayanya sederhana dan cocok untuk skenario di mana periode penyimpanan mendekati 30 hari atau jalur pemrosesan data kompleks.

    • Data Retention Period: Tetapkan jumlah hari untuk menyimpan log. Nilainya berkisar antara 1 hingga 3.650 hari. Nilai 3650 menunjukkan penyimpanan permanen. Defaultnya adalah 30 hari.

    • Biarkan pengaturan default untuk konfigurasi lainnya dan klik OK. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Kelola Logstore.

Langkah 2: Konfigurasikan kelompok mesin (instal LoongCollector)

Setelah Anda membuat Proyek dan Logstore, instal LoongCollector di server Anda dan tambahkan ke kelompok mesin. Topik ini menggunakan Instance Elastic Compute Service (ECS) yang berada di Akun Alibaba Cloud dan Wilayah yang sama dengan Proyek Simple Log Service (SLS) sebagai contoh. Jika instance ECS Anda tidak berada di akun atau wilayah yang sama dengan Proyek, atau jika Anda menggunakan server yang dikelola sendiri, lihat Instal LoongCollector pada Server Linux untuk instalasi manual.

Fitur ini hanya tersedia untuk LoongCollector (Logtail) di Linux dan memerlukan versi Logtail 1.8.0 atau lebih baru. Tidak berpengaruh pada Windows.

Klik Project target. Di halaman Logstore:

  1. Klik image untuk memperluas Logstore target.

  2. Klik image di sebelah Data Import.

  3. Dalam kotak dialog yang muncul, pilih templat impor log teks. Topik ini menggunakan templat Single line - Text Log sebagai contoh. Klik Access Now.

Semua templat impor log teks hanya berbeda dalam plugin penguraiannya. Sisanya dari proses konfigurasi adalah sama dan dapat dimodifikasi nanti.

image

Langkah-langkah Konfigurasi:

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

    • Use Case: Host Scenario

    • Installation Environment: ECS

  2. Konfigurasikan Kelompok Mesin: Pilih tindakan yang sesuai berdasarkan status instalasi LoongCollector dan konfigurasi kelompok mesin dari server target:

    • Jika LoongCollector sudah terinstal dan merupakan bagian dari kelompok mesin, Anda dapat memilihnya langsung dari daftar Source Machine Group dan menambahkannya ke daftar Applied Machine Group tanpa membuatnya kembali.

    • Jika LoongCollector belum terinstal, klik Create Machine Group:

      Langkah-langkah berikut akan membimbing Anda melalui instalasi otomatis LoongCollector dan pembuatan kelompok mesin baru.
      1. Sistem secara otomatis mencantumkan instance ECS di Wilayah yang sama dengan Proyek. Pilih satu atau beberapa instance tempat Anda ingin mengumpulkan log.

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

      3. Masukkan Name untuk kelompok mesin dan klik OK.

      Catatan

      Jika instalasi gagal atau tetap dalam keadaan menunggu, periksa apakah Wilayah ECS sama dengan Wilayah Proyek.

    • Untuk menambahkan server dengan LoongCollector yang sudah terinstal ke kelompok mesin yang ada, lihat Bagaimana cara menambahkan server ke kelompok mesin yang ada? di FAQ.

Langkah 3: Buat konfigurasi koleksi

Konfigurasikan di konsol

Setelah Anda menginstal LoongCollector dan mengonfigurasi kelompok mesin, pergi ke halaman Logtail Configuration untuk menentukan aturan pengumpulan dan pemrosesan log.

1. Aktifkan dukungan presisi nanodetik

Tentukan sumber pengumpulan log dan aturan, serta aktifkan dukungan presisi nanodetik.

Global Configurations:

  • Configuration Name: Tetapkan nama yang unik dalam Proyek. Anda tidak dapat mengubah nama setelah konfigurasi dibuat.

  • : Nyalakan sakelar Opsi Lanjutan dan masukkan konten JSON berikut untuk mengaktifkan dukungan presisi nanodetik:

    {
      "EnableTimestampNanosecond": true
    }

Input Configurations:

  • Type: Text Log Collection.

  • File Path: Jalur dari mana log dikumpulkan.

    • Linux: Harus dimulai dengan garis miring (/), seperti /data/mylogs/**/*.log. Jalur ini cocok dengan semua file yang berakhiran .log di direktori /data/mylogs dan subdirektorinya.

    • Windows: Harus dimulai dengan huruf drive, seperti C:\Program Files\Intel\**\*.Log.

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

2. Konfigurasikan plugin pemrosesan

Karena log sumber dalam format JSON, tambahkan plugin JSON - Parse di bagian Konfigurasi Pemrosesan. Plugin ini mengekstrak data dari objek JSON ke dalam bidang log terpisah.

  1. Tambahkan sampel log

    Asumsikan format log dalam file log adalah sebagai 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"
    }
  2. Tambahkan plugin penguraian JSON

    Klik Add Processing Plug-in, pilih Native Processing Plug-in > JSON - Parse, lalu klik Confirm.

  3. Tambahkan plugin penguraian waktu

    Konversikan string waktu yang diekstraksi (bidang asctime) menjadi timestamp nanodetik standar dan gunakan sebagai waktu event untuk entri log.

    Nama Plugin

    Fungsi Inti

    Skenario Aplikasi

    Parse Time

    Penguraian waktu dasar.

    Skema sederhana dengan format tetap.

    Ekstrak Waktu Log (format strptime)

    Fleksibel, mendukung berbagai format strptime.

    Direkomendasikan. Fitur komprehensif dan kompatibel dengan standar industri.

    Ekstrak Waktu Log (format bahasa Go)

    Menggunakan format pustaka standar bahasa Go.

    Untuk pengguna yang familiar dengan Go atau ketika format log sesuai dengan pustaka standar Go.

    Parse time

    Klik Add Processing Plug-in, pilih Native Processing Plug-in > Parse Time, dan konfigurasikan parameter berikut:

    • Source Field: Bidang asli yang menyimpan waktu sebelum penguraian log. Dalam contoh ini, itu adalah asctime.

    • Time Format: Tetapkan format waktu yang sesuai berdasarkan isi bidang waktu log. Dalam contoh ini, itu adalah %Y-%m-%d %H:%M:%S,%f. %f mewakili bagian pecahan detik, dengan presisi hingga nanodetik.

      String format waktu harus persis cocok dengan format waktu dalam log asli, termasuk pemisah antara detik dan nanodetik (seperti , atau .). Jika tidak, penguraian akan gagal.
    • Time Zone: Pilih zona waktu bidang waktu log. Secara default, zona waktu mesin digunakan.

    Ekstrak waktu log (format strptime)

    Klik Add Processing Plug-in, pilih Extension Processing Plug-in > Extract Log Time (strptime format), dan konfigurasikan parameter berikut:

    • Source Field: Bidang asli yang menyimpan waktu sebelum penguraian log. Dalam contoh ini, itu adalah asctime.

    • Source Time Format: Tetapkan format waktu yang sesuai berdasarkan isi bidang waktu log. Dalam contoh ini, itu adalah %Y-%m-%d %H:%M:%S,%f. %f mewakili bagian pecahan detik, dengan presisi hingga nanodetik.

      String format waktu harus persis cocok dengan format waktu dalam log asli, termasuk pemisah antara detik dan nanodetik (seperti , atau .). Jika tidak, penguraian akan gagal.

    Ekstrak waktu log (format bahasa Go)

    Klik Add Processing Plug-in, pilih Extension Processing Plug-in > Extract Log Time (Go language format), dan konfigurasikan parameter berikut:

    • Source Time Field: Bidang asli yang menyimpan waktu sebelum penguraian log. Dalam contoh ini, itu adalah asctime.

    • Source Time Format: Tetapkan format waktu berdasarkan bidang waktu dalam log asli. Format tersebut harus mengikuti spesifikasi format waktu bahasa Go. Referensi waktu untuk pemformatan adalah waktu kelahiran Go: 2006-01-02 15:04:05 -0700 MST. Format waktu yang sesuai untuk contoh ini adalah 2006-01-02 15:04:05,999999999.

      String format waktu harus persis cocok dengan format waktu dalam log asli, termasuk pemisah antara detik dan nanodetik (seperti , atau .). Jika tidak, penguraian akan gagal.
    • Result Time Field: Bidang tujuan untuk menyimpan waktu setelah penguraian. Dalam contoh ini, itu adalah result_asctime.

    • Result Time Format: Format waktu setelah penguraian, ditulis sesuai dengan spesifikasi format waktu bahasa Go. Dalam contoh ini, itu adalah 2006-01-02 15:04:05,999999999Z07:00.

3. Konfigurasikan indeks

Setelah Anda menyelesaikan konfigurasi Logtail, klik Next. Di halaman Query and Analysis Configuration:

  • Sistem mengaktifkan Indeks Teks Penuh secara default, memungkinkan Anda mencari konten log mentah menggunakan kata kunci.

  • Untuk melakukan kueri tepat berdasarkan bidang, tunggu Pratinjau Data dimuat, lalu klik Auto Generate Index. Simple Log Service menghasilkan Indeks Bidang berdasarkan entri pertama dalam data pratinjau.

Setelah konfigurasi selesai, klik Next untuk menyelesaikan seluruh proses pengumpulan.

Konfigurasikan menggunakan CRD (untuk Kubernetes)

Di dalam Container Service for Kubernetes (ACK) atau kluster Kubernetes yang dikelola sendiri, Anda dapat mengonfigurasi pengumpulan timestamp dengan presisi nanodetik menggunakan Custom Resource Definition (CRD) AliyunLog. Berikut ini adalah contoh konfigurasi untuk tiga plugin berbeda.

Parse time

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}

Ekstrak waktu log (format 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}

Ekstrak waktu log (format bahasa 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}

Langkah 4: Verifikasi hasil

Setelah konfigurasi selesai, tunggu beberapa saat hingga data log baru terkumpul ke dalam Logstore.

Di halaman Query and Analysis pada Log Service Console, periksa log yang telah dikumpulkan. Console secara otomatis mengoptimalkan tampilan informasi waktu berpresisi tinggi dalam format milidetik, mikrodetik, atau nanodetik.

image

FAQ

Mengapa Logtail gagal mengurai timestamp nanodetik saya?

Setelah mengaktifkan pengumpulan dengan presisi nanodetik di Logtail, saya menemukan bahwa timestamp diuraikan secara tidak benar, sehingga menghasilkan nilai waktu yang tidak valid untuk log saya.

image

  • Penyebab

    Masalah ini hampir selalu disebabkan oleh ketidaksesuaian antara string format waktu dalam konfigurasi Logtail Anda dan format timestamp sebenarnya dalam log Anda. Format tersebut harus cocok secara tepat, termasuk karakter pemisah (misalnya, koma ,) antara detik dan bagian fraksional.

  • Solusi

    Untuk memperbaiki ini, Anda perlu mendiagnosis kesalahan dan memperbaiki string format dalam konfigurasi Logtail Anda.

    1. Langkah 1: Diagnosis kesalahan penguraian

      Pertama, konfirmasikan kesalahan penguraian dengan memeriksa log plugin Logtail. SSH ke server Anda dan periksa file /usr/local/ilogtail/logtail_plugin.LOG untuk pesan STRPTIME_PARSE_ALARM.

      tail -f /usr/local/ilogtail/logtail_plugin.LOG
      Kesalahan berikut menunjukkan ketidaksesuaian format.
      
    2. Langkah 2: Perbaiki string format waktu

      Perbarui string format waktu dalam konfigurasi pengumpulan Anda agar persis sesuai dengan timestamp log Anda. Untuk timestamp seperti 2023-10-26 00:30:10,199999999, yang menggunakan pemisah koma, perbaikannya adalah sebagai berikut:

      • Format salah: %Y-%m-%d %H:%M:%S %f (menggunakan spasi sebagai pemisah)

      • Format benar: %Y-%m-%d %H:%M:%S,%f (menggunakan koma sebagai pemisah)

      Terapkan perubahan ini dalam pengaturan untuk plugin penguraian waktu Anda.

Biaya dan keterbatasan

  • Dampak Biaya: Bidang time_ns_part disimpan sebagai bagian dari konten log, yang sedikit meningkatkan ukuran penyimpanan log mentah.

  • Keterbatasan Lingkungan: Fitur ini hanya tersedia untuk Logtail versi 1.8.0 dan yang lebih baru di Linux serta tidak berpengaruh pada Windows.

Dokumen terkait

Lampiran 1: Format waktu log umum

Di Linux, Logtail mendukung semua format waktu yang disediakan oleh fungsi strftime.

Format

Deskripsi

Contoh

%a

Nama hari dalam singkatan.

Jum

%A

Nama hari lengkap.

Jumat

%b

Nama bulan dalam singkatan.

Jan

%B

Nama bulan lengkap.

Januari

%d

Hari dalam bulan sebagai angka desimal dengan padding nol (01-31).

07, 31

%f

Bagian pecahan dari detik (milidetik, mikrodetik, atau nanodetik).

123

%h

Nama bulan dalam singkatan, sama seperti %b.

Jan

%H

Jam (format 24 jam) sebagai angka desimal.

22

%I

Jam (format 12 jam) sebagai angka desimal.

11

%m

Bulan sebagai angka desimal dengan padding nol (01-12).

08

%M

Menit sebagai angka desimal dengan padding nol (00-59).

59

%n

Karakter baris baru.

Karakter baris baru

%p

Ekuivalen lokal untuk AM atau PM.

AM, PM

%r

Waktu dalam format 12 jam sesuai lokal, sama seperti %I:%M:%S %p.

11:59:59 AM

%R

Jam dan menit, sama seperti %H:%M.

23:59

%S

Detik sebagai angka desimal dengan padding nol (00-59).

59

%t

Karakter tab.

Tidak ada

%y

Tahun tanpa abad sebagai angka desimal dengan padding nol (00-99).

04, 98

%Y

Tahun dengan abad sebagai angka desimal.

2004, 1998

%C

Abad sebagai angka desimal (00-99).

16

%e

Hari dalam bulan sebagai angka desimal dengan padding spasi ( 1-31).

Spasi di depan digunakan untuk angka satu digit.

7, 31

%j

Hari dalam tahun sebagai angka desimal dengan padding nol (001-366).

365

%u

Hari dalam minggu sebagai angka desimal (1-7), dimana 1 adalah Senin.

2

%U

Nomor minggu dalam tahun (00-53), dengan Minggu sebagai hari pertama dalam minggu.

23

%V

Nomor minggu ISO 8601 dalam tahun (01-53), dengan Senin sebagai hari pertama dalam minggu.

Jika minggu yang berisi tanggal 1 Januari memiliki empat hari atau lebih di tahun baru, maka itu adalah minggu 1; jika tidak, itu adalah minggu tahun sebelumnya dan minggu berikutnya adalah minggu 1.

24

%w

Hari dalam minggu sebagai angka desimal (0-6), dimana 0 adalah Minggu.

5

%W

Nomor minggu dalam tahun (00-53), dengan Senin sebagai hari pertama dalam minggu.

23

%c

String standar untuk tanggal dan waktu.

Sel Nov 20 14:12:58 2020

%x

String standar untuk tanggal tanpa waktu.

Sel Nov 20 2020

%X

String standar untuk waktu tanpa tanggal.

11:59:59

%s

Timestamp Unix.

1476187251

Contoh format waktu

Tabel berikut mencantumkan standar waktu umum, contoh, serta ekspresi waktu yang sesuai.

Contoh

Ekspresi waktu

Standar waktu

2017-12-11 15:05:07

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

Kustom

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

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

Kustom

2017-12-11 15:05:07.123

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

Kustom

02 Jan 06 15:04 MST

%d %b %y %H:%M

RFC822

02 Jan 06 15:04 -0700

%d %b %y %H:%M

RFC822Z

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

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

RFC850

Sen, 02 Jan 2006 15:04:05 MST

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

RFC1123

2006-01-02T15:04:05Z

%Y-%m-%dT%H:%M:%SZ

RFC3339

2006-01-02T15:04:05.999999999Z

%Y-%m-%dT%H:%M:%S.%fZ

RFC3339Nano

1637843406

%s

Kustom

1637843406123

%s

Kustom (Simple Log Service memprosesnya pada presisi tingkat detik)

Lampiran 2: Format waktu bahasa Go

Berikut adalah contoh format waktu dari pustaka standar 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" // Cap waktu yang 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"
)