PythonでUNIXタイムスタンプを取得・変換する方法を完全解説!初心者でもわかる日時操作
生徒
「Pythonで今の時間を数字で取得できるって聞いたんですが、本当ですか?」
先生
「はい、できますよ。PythonではUNIXタイムスタンプという仕組みを使って、現在の日時を数値で扱えます。」
生徒
「UNIXタイムスタンプって何ですか?パソコンを触るのも初めてで…」
先生
「大丈夫です。時計を見る感覚で理解できるように、基礎からゆっくり説明していきましょう。」
1. UNIXタイムスタンプとは何か?
UNIXタイムスタンプとは、「1970年1月1日0時0分0秒」から何秒が経過したかを表す数値です。難しく聞こえますが、これは世界共通の基準時計のようなものです。たとえば、ストップウォッチをスタートしてから何秒経ったかを数えているイメージです。
Python、UNIX、Linux、データベース、Webサービスなど、多くのシステムで使われており、日時のズレを防ぐために重要な仕組みです。
2. Pythonで日時操作をするための準備
Pythonには、最初から日時操作のための便利な道具が用意されています。その中でも今回は「timeモジュール」を使います。モジュールとは、便利な機能がまとめられた箱のようなものです。
まずは、Pythonでtimeモジュールを使えるようにします。
import time
この1行を書くだけで、Pythonで現在時刻やUNIXタイムスタンプを扱えるようになります。
3. time.time()で現在のUNIXタイムスタンプを取得する
Pythonで現在のUNIXタイムスタンプを取得する一番簡単な方法が「time.time()」です。これは、今この瞬間の時間を秒数で教えてくれる命令です。
import time
now = time.time()
print(now)
実行すると、次のような数字が表示されます。
1700000000.123456
この小数点付きの数字が、現在のUNIXタイムスタンプです。小数点以下はミリ秒より細かい時間を表しています。
4. UNIXタイムスタンプを整数にする理由
初心者の方は「なぜ小数があるの?」と疑問に思うかもしれません。実際の開発では、秒単位で十分なことが多いため、小数点以下を切り捨てて使うことがよくあります。
import time
timestamp = int(time.time())
print(timestamp)
intは整数に変換する命令です。これで扱いやすいUNIXタイムスタンプになります。
5. UNIXタイムスタンプを人が読める日時に変換する
数字だけでは分かりにくいため、日時の形に変換することもよくあります。ここで登場するのが「localtime」という機能です。これは、UNIXタイムスタンプを日本時間の日時に変換してくれます。
import time
t = time.time()
local = time.localtime(t)
print(local)
実行結果は次のようになります。
time.struct_time(tm_year=2026, tm_mon=1, tm_mday=1, ...)
年、月、日、時、分、秒がそれぞれ分かれて表示されます。
6. 見やすい文字列に変換する方法
さらに分かりやすく「2026年01月01日 12時00分00秒」のように表示したい場合は、「strftime」を使います。これは日時を好きな形に整える機能です。
import time
t = time.time()
result = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t))
print(result)
%Yは年、%mは月、%dは日を表しています。これにより、ブログやログでも使いやすい日時表示ができます。
7. UNIXタイムスタンプが使われる場面
UNIXタイムスタンプは、ログ記録、データ保存、予約時間の管理、アクセス解析など、さまざまな場面で使われます。数字で管理することで、国や地域による時間の違いを気にせず処理できるのが大きなメリットです。
Pythonでの日時操作、time.time、UNIXタイムスタンプ変換は、プログラミング初心者が最初に覚える重要な基礎知識です。
8. 初心者がつまずきやすいポイント
最初は「数字が大きくて怖い」「意味が分からない」と感じるかもしれません。しかし、時計の秒数を数えているだけと考えると一気に理解しやすくなります。
Pythonの日時操作は、慣れるととても便利で、UNIXタイムスタンプはその中心的な存在です。