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
). Sebagai contoh, timestamp 1732579200 sepadan dengan 00:00:00 UTC pada 26 November, 2024. Mengapa menukar cap waktu ke rentetan?
di sini,
<code>timestamp=1732579200</code>
Timestamp adalah nama pembolehubah.
<code>date -d @$timestamp</code>
Tarikh adalah utiliti baris arahan di Linux untuk memaparkan atau menetapkan tarikh dan masa sistem.
<code>timestamp=1732579200</code>
arahan ini menghasilkan tarikh dan masa dalam format YYYY-MM-DD HH: MM: SS.
<code>date -d @$timestamp</code>
Output sampel
:
3<code>星期二 2024 年 11 月 26 日 上午 05:30:00 IST</code>
Perintah ini mencetak tarikh dan masa dalam format lalai.
<code>timestamp=1732579200echo $timestamp | awk '{print strftime("%Y-%m-%d %H:%M:%S", )}'</code>
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>
<code>timestamp=1732579200perl -e "print scalar(localtime($timestamp))"</code>
:
5. Jika anda memerlukan format tertentu, anda boleh menggunakan arahan tarikh dengan pilihan pemformatan tersuai:
<code>Tue Nov 26 05:30:00 2024</code>
Kes penggunaan praktikal
<code>timestamp=1732579200python3 -c "import datetime; print(datetime.datetime.fromtimestamp($timestamp).strftime('%Y-%m-%d %H:%M:%S'))"</code>
Tukar cap waktu ke rentetan untuk membuat log lebih mudah difahami semasa memproses fail log:
3
<code>2024-11-26 05:30:00</code>
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>
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>
<code>timestamp=$(date +%s) date -d @$timestamp >> task_log.txt</code>
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>
#!/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
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
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
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!