ホームページ >システムチュートリアル >Linux >UNIXタイムスタンプをLinuxの文字列に変換する方法

UNIXタイムスタンプをLinuxの文字列に変換する方法

William Shakespeare
William Shakespeareオリジナル
2025-03-08 11:48:14723ブラウズ

LinuxとUnixのようなオペレーティングシステムは、多くの場合、タイムスタンプを使用して、機械読み取り可能な形式で日付と時間を表します。ただし、人間のユーザーにとっては、これらのタイムスタンプを解釈するのが難しい場合があります。このブログ投稿では、LinuxのUNIXタイムスタンプを人間の読み取り可能な文字列に変換するプロセスについて説明します。さまざまな方法を探求し、これらの手法を理解して実装するのに役立つ実用的な例を提供します。

カタログ

- UNIXタイムスタンプを理解

    なぜタイムスタンプを文字列に変換するのですか?
  • タイムスタンプを文字列に変換する方法
  • メソッド
      1. 日付コマンド
      2. を使用します
      1. awk
      2. を使用します
      1. perl
      2. を使用します
      1. python
      2. を使用します
      1. カスタム形式で日付コマンドを使用します
  • 実際のユースケース
      1. ログ記録と監視
      1. データの処理と分析
      1. 自動化とスクリプト
      1. ユーザーインターフェイス
    ユースケースの例:監視システムの実行時間
  • 結論
Unixタイムスタンプを理解してください

Unixタイムスタンプは、1970年1月1日以降に経過した秒数の数値表現です(

unix era

と呼ばれます)。たとえば、タイムスタンプ1732579200は、2024年11月26日の00:00:00 UTCに対応しています。 なぜタイムスタンプを文字列に変換するのですか?

タイムスタンプを文字列に変換することには多くの利点があります:

    読みやすさ:
  • 人間のユーザーは、読み取り可能な形式で日付と時間を簡単に理解して解釈できます。
  • log record:
  • ログには通常、タイムスタンプが含まれています。文字列に変換すると、ログにアクセスしやすくなります。
  • データ処理:
  • タイムスタンプを文字列に変換すると、データの処理時に分析と報告が簡素化されます。 タイムスタンプを文字列に変換する方法
  • メソッド

1日付コマンド

日付コマンドは、タイムスタンプを文字列に変換するためのシンプルで広く使用されているツールです。以下はそれをどのように使用するかです:

ここ、
<code>timestamp=1732579200</code>

タイムスタンプは変数名です。
  • 1732579200は、タイムスタンプ変数に割り当てられた値です。この値はUNIXタイムスタンプで、1970年1月1日以降、UNIX時代として知られる秒数を表しています。
  • このコマンドは、タイムスタンプ1732579200を人間の読み取り可能な日時に変換します。
<code>date -d @$timestamp</code>
ここ、

日付は、システムの日付と時間を表示または設定するためのLinuxのコマンドラインユーティリティです。

    -Dは、表示する日付文字列またはタイムスタンプを指定できる日付コマンドのオプションです。
  • @$タイムスタンプは、-dオプションに渡されたパラメーターです。ここでは、 @は日付コマンドによって認識されている特別なプレフィックスであり、次の値がUNIXタイムスタンプであることを示しています。
  • $タイムスタンプは、UNIXタイムスタンプ値(1732579200)を保持する変数です。
  • 上記のコマンドは、私のDebian 12システムの次の出力を返します:
<code>timestamp=1732579200</code>

How To Convert Unix Timestamps To Strings In Linux

2を使用します

awkは、タイムスタンプを文字列に変換できる強力なテキスト処理ツールです。サンプルコマンドは次のとおりです

このコマンドは、yyyy-mm-dd hh:mm:ss形式で日付と時刻を出力します。

<code>date -d @$timestamp</code>

サンプル出力

3を使用します

Perlは、タイムスタンプの変換を処理できる別のスクリプト言語です。以下はそれをどのように使用するかです:
<code>星期二 2024 年 11 月 26 日 上午 05:30:00 IST</code>

このコマンドは、デフォルト形式で日付と時刻を印刷します。

<code>timestamp=1732579200echo $timestamp | awk '{print strftime("%Y-%m-%d %H:%M:%S", )}'</code>
サンプル出力

4 Pythonは、タイムスタンプを文字列に簡単に変換できる多目的言語です。例は次のとおりです。

<code>2024-11-26 05:30:00</code>
このコマンドは、yyyy-mm-dd hh:mm:ss形式で日付と時刻を出力します。

サンプル出力

<code>timestamp=1732579200perl -e "print scalar(localtime($timestamp))"</code>

5カスタム形式で日付コマンドを使用します

特定の形式が必要な場合は、カスタムフォーマットオプションを備えた日付コマンドを使用できます。 このコマンドは、yyyy-mm-dd hh:mm:ss形式で日付と時刻を出力します。

実際のユースケース
<code>Tue Nov 26 05:30:00 2024</code>

1ロギングと監視

タイムスタンプを文字列に変換して、ログファイルを処理するときにログを理解しやすくします:

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

2データ処理と分析

タイムスタンプを文字列に変換して、CSVファイルを処理するときにデータにアクセスしやすくなります:

3 スケジュールされたタスクを実行するスクリプトは、通常、実行時間を記録する必要があります。現在の時間を文字列に変換するのに役立ちます:

4
<code>2024-11-26 05:30:00</code>
Webアプリケーションは通常、ユーザーにタイムスタンプを表示します。 UNIXタイムスタンプを文字列に変換すると、ユーザーが読み取り可能な日付と時刻の形式を確認します。

ユースケースの例:監視システムの実行時間

サーバーのランタイムを監視し、結果を記録するスクリプトがあるとします。あなたはあなたのログファイルに人間の読み取り可能なタイムスタンプを含めたいかもしれません:

<code>timestamp=1732579200date -d @$timestamp +"%Y-%m-%d %H:%M:%S"</code>

sysuptime.shなどのファイルに上記を保存します。次のコマンドを使用して実行可能にします:

実行スクリプトの実行:
<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>
}'

このスクリプトを実行した後、Linuxシステムの合計実行時間は〜/system_uptime.logファイルに書き込まれます。

このファイルの内容を表示して確認できます。

<code>timestamp=$(date +%s)
date -d @$timestamp >> task_log.txt</code>
結論

ご覧のとおり、タイムスタンプを文字列に変換することは非常にシンプルで簡単です。これは、データの読みやすさと可用性を改善できるLinuxの基本的なタスクです。

ログの処理、データの処理、アプリケーションの開発、タイムスタンプを文字列に変換する方法を理解するかどうかは、タスクをより簡単かつ効率的にします。
<code>from datetime import datetimetimestamp = 1732579200readable_date = datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')print(readable_date)</code>
このブログ投稿で概説されている方法を使用すると、Linux環境でタイムスタンプ変換を簡単に処理できます。

#!/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
関連測定値

    Linuxで特定の日付と時間のUNIXタイムスタンプを見つける方法
  • Linuxファイルタイムスタンプの詳細な説明と例
  • 画像は元の形式のままです。

以上がUNIXタイムスタンプをLinuxの文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。