Rumah > Tutorial sistem > LINUX > Cara menukar cap waktu unix ke rentetan di linux

Cara menukar cap waktu unix ke rentetan di linux

William Shakespeare
Lepaskan: 2025-03-08 11:48:14
asal
719 orang telah melayarinya

sistem operasi Linux dan UNIX sering menggunakan cap waktu untuk mewakili tarikh dan masa dalam format yang boleh dibaca mesin. Walau bagaimanapun, bagi pengguna manusia, cap waktu ini mungkin sukar untuk mentafsir. Dalam catatan blog ini, kami akan menerangkan proses menukarkan timestamp UNIX ke rentetan manusia yang boleh dibaca di Linux. Kami akan meneroka pelbagai kaedah dan memberikan contoh praktikal untuk membantu anda memahami dan melaksanakan teknik -teknik ini.

katalog

- Memahami timestamps unix

    Mengapa menukar cap waktu ke rentetan?
  • kaedah untuk menukar cap waktu ke rentetan
      1. Gunakan Perintah Tarikh
      1. Gunakan AWK
    • Gunakan Perl
    • menggunakan python
    • Gunakan arahan tarikh dengan format tersuai
    Kes penggunaan praktikal
    • rakaman log dan pemantauan
    • Pemprosesan Data dan Analisis
    • Automasi dan skrip
    • antara muka pengguna
    Contoh Penggunaan Kes: Sistem Pemantauan Masa Berjalan
  • Kesimpulan
Memahami Unix Timestamp

Timestamp UNIX adalah perwakilan berangka detik yang berlalu sejak 1 Januari 1970 (dipanggil

era unix

). Sebagai contoh, timestamp 1732579200 sepadan dengan 00:00:00 UTC pada 26 November, 2024. Mengapa menukar cap waktu ke rentetan?

Terdapat banyak manfaat untuk menukar cap waktu untuk rentetan:

    kebolehbacaan:
  • Pengguna manusia dapat dengan mudah memahami dan mentafsir tarikh dan masa dalam format yang boleh dibaca.
  • Log Record:
  • Log biasanya mengandungi cap waktu. Menukarnya ke rentetan menjadikan log lebih mudah diakses.
  • Pemprosesan Data:
  • Menukar timestamps ke rentetan memudahkan analisis dan pelaporan apabila memproses data.
  • kaedah untuk menukar cap waktu ke rentetan

1. Perintah tarikh

adalah alat yang mudah dan digunakan secara meluas untuk menukar cap waktu menjadi rentetan. Berikut adalah cara menggunakannya:

di sini,

<code>timestamp=1732579200</code>
Salin selepas log masuk
Salin selepas log masuk

Timestamp adalah nama pembolehubah.

    1732579200 adalah nilai yang diberikan kepada pembolehubah timestamp. Nilai ini adalah timestamp UNIX, yang mewakili bilangan saat berlalu sejak 1 Januari 1970, yang dikenali sebagai era UNIX.
  • Perintah ini menukarkan timestamp 1732579200 ke tarikh dan masa yang boleh dibaca manusia.
<code>date -d @$timestamp</code>
Salin selepas log masuk
Salin selepas log masuk
di sini,

Tarikh adalah utiliti baris arahan di Linux untuk memaparkan atau menetapkan tarikh dan masa sistem.

    -d adalah pilihan arahan tarikh yang membolehkan anda menentukan rentetan tarikh atau cap waktu untuk dipaparkan.
  • @$ timestamp adalah parameter yang diluluskan kepada pilihan -D. Di sini, @ adalah awalan khas yang diiktiraf oleh arahan tarikh, menunjukkan bahawa nilai berikut adalah cap waktu UNIX.
  • $ timestamp adalah pembolehubah yang memegang nilai timestamp UNIX (1732579200).
  • Perintah di atas mengembalikan output berikut dalam sistem Debian 12 saya:
<code>timestamp=1732579200</code>
Salin selepas log masuk
Salin selepas log masuk

How To Convert Unix Timestamps To Strings In Linux

2

AWK adalah alat pemprosesan teks yang kuat yang juga boleh menukar cap waktu menjadi rentetan. Berikut adalah perintah sampel:

arahan ini menghasilkan tarikh dan masa dalam format YYYY-MM-DD HH: MM: SS.
<code>date -d @$timestamp</code>
Salin selepas log masuk
Salin selepas log masuk

Output sampel

:

3
<code>星期二 2024 年 11 月 26 日 上午 05:30:00 IST</code>
Salin selepas log masuk
Perl adalah satu lagi bahasa skrip yang boleh mengendalikan penukaran cap waktu. Berikut adalah cara menggunakannya:

Perintah ini mencetak tarikh dan masa dalam format lalai.

<code>timestamp=1732579200echo $timestamp | awk '{print strftime("%Y-%m-%d %H:%M:%S", )}'</code>
Salin selepas log masuk

Output sampel

:

4

Python adalah bahasa serba boleh yang dapat dengan mudah menukar cap waktu ke rentetan. Berikut adalah contoh:
<code>2024-11-26 05:30:00</code>
Salin selepas log masuk
Salin selepas log masuk

arahan ini menghasilkan tarikh dan masa dalam format YYYY-MM-DD HH: MM: SS.

<code>timestamp=1732579200perl -e "print scalar(localtime($timestamp))"</code>
Salin selepas log masuk
Output sampel

:

5. Jika anda memerlukan format tertentu, anda boleh menggunakan arahan tarikh dengan pilihan pemformatan tersuai:

<code>Tue Nov 26 05:30:00 2024</code>
Salin selepas log masuk

arahan ini menghasilkan tarikh dan masa dalam format YYYY-MM-DD HH: MM: SS.

Kes penggunaan praktikal

<code>timestamp=1732579200python3 -c "import datetime; print(datetime.datetime.fromtimestamp($timestamp).strftime('%Y-%m-%d %H:%M:%S'))"</code>
Salin selepas log masuk
1

Tukar cap waktu ke rentetan untuk membuat log lebih mudah difahami semasa memproses fail log:

2.

Tukar cap waktu ke rentetan untuk membuat data lebih mudah untuk diakses semasa memproses fail CSV:

3
<code>2024-11-26 05:30:00</code>
Salin selepas log masuk
Salin selepas log masuk
skrip yang menjalankan tugas -tugas yang dijadualkan biasanya memerlukan rakaman masa pelaksanaan. Menukar masa semasa ke rentetan membantu merakam:

4

Aplikasi web biasanya memaparkan cap waktu kepada pengguna. Menukar cap waktu unix ke rentetan memastikan pengguna melihat format tarikh dan masa yang boleh dibaca:
<code>timestamp=1732579200date -d @$timestamp +"%Y-%m-%d %H:%M:%S"</code>
Salin selepas log masuk

Contoh Penggunaan Kes: Sistem Pemantauan Masa Berjalan

Katakan anda mempunyai skrip yang memantau runtime pelayan dan merekodkan hasilnya. Anda mungkin mahu memasukkan timestamp yang boleh dibaca manusia dalam fail log anda:
<code>grep "error" /var/log/syslog | awk '{print strftime("%Y-%m-%d %H:%M:%S", ), <pre class="brush:php;toolbar:false"><code>cat data.csv | awk -F, '{print strftime("%Y-%m-%d %H:%M:%S", ), , }'</code>
Salin selepas log masuk
}'

simpan di atas dalam fail, seperti sysuptime.sh. Jadikannya boleh dilaksanakan menggunakan arahan berikut:

<code>timestamp=$(date +%s)
date -d @$timestamp >> task_log.txt</code>
Salin selepas log masuk
Jalankan skrip:

Selepas menjalankan skrip ini, jumlah masa berjalan sistem Linux akan ditulis kepada fail ~/System_Ptime.log.

<code>from datetime import datetimetimestamp = 1732579200readable_date = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')print(readable_date)</code>
Salin selepas log masuk
anda boleh mengesahkannya dengan melihat kandungan fail ini:

#!/bin/bash

# 获取当前 Unix 时间戳
timestamp=$(date +%s)

# 将时间戳转换为人类可读的字符串
readable_date=$(date -d @$timestamp +"%Y-%m-%d %H:%M:%S")

# 获取系统运行时间
uptime=$(uptime -p)

# 记录结果
echo "[$readable_date] 系统运行时间:$uptime" >> ~/system_uptime.log
Salin selepas log masuk
Kesimpulan

seperti yang anda lihat, menukar cap waktu untuk rentetan sangat mudah dan mudah. Ini adalah tugas asas di Linux yang dapat meningkatkan kebolehbacaan dan ketersediaan data.
chmod +x sysuptime.sh
Salin selepas log masuk

Sama ada anda memproses log, memproses data, atau membangunkan aplikasi, memahami cara menukar cap waktu ke rentetan akan menjadikan tugas anda lebih mudah dan lebih cekap.

Dengan menggunakan kaedah yang digariskan dalam catatan blog ini, anda boleh mengendalikan penukaran timestamp dengan mudah dalam persekitaran Linux.

./sysuptime.sh
Salin selepas log masuk

Bacaan yang berkaitan

:

  • bagaimana untuk mencari cap waktu unix untuk tarikh dan masa tertentu dalam linux
  • penjelasan terperinci dan contoh cap waktu fail linux

Imej kekal dalam format asal.

Atas ialah kandungan terperinci Cara menukar cap waktu unix ke rentetan di linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan