PythonでUNIXタイムスタンプを取得・変換する方法!初心者でもわかるtime.time()の使い方
生徒
「Pythonで“今の時間”って数値で表す方法ってあるんですか?」
先生
「はい、time.time()という関数を使うと、“UNIXタイムスタンプ”という形式で今の時刻を数値で取得できますよ。」
生徒
「ユニックスタイムスタンプ?なんだか難しそうですね…」
先生
「大丈夫です!わかりやすく丁寧に説明していきますので、一緒に学んでいきましょう。」
1. UNIXタイムスタンプとは?
UNIX(ユニックス)タイムスタンプとは、「1970年1月1日0時0分0秒」から数えて、何秒経ったかを数値で表したものです。この1970年の基準日を「UNIXエポック(Epoch)」と呼びます。
たとえば、「UNIXタイムスタンプが1693734000」という数値は、「2023年9月3日頃」を表しています。
この形式は、世界中のコンピューターで広く使われており、時間を正確に扱うためにとても便利です。
2. time.time()で現在のUNIXタイムスタンプを取得
Pythonで現在のUNIXタイムスタンプを取得するには、timeモジュールを使い、time.time()関数を呼び出します。
import time
timestamp = time.time()
print(timestamp)
1693734367.123456
このように、小数点以下も含まれた秒数が表示されます。これは「今この瞬間のUNIX時間」を意味しています。
3. タイムスタンプを日時に変換する方法(datetimeとの連携)
UNIXタイムスタンプは数字だけでは人間には読みにくいため、日付や時刻に変換したいことがあります。そんなときはdatetimeモジュールのfromtimestamp()を使いましょう。
from datetime import datetime
import time
timestamp = time.time()
dt = datetime.fromtimestamp(timestamp)
print(dt)
2025-09-03 13:45:30.123456
datetime.fromtimestamp()を使うことで、UNIXタイムスタンプを日本人にもなじみのある「年月日 時分秒」の形式に変換できます。
4. 日付からUNIXタイムスタンプを取得する
逆に「日付(datetime型)からUNIXタイムスタンプを取得したい」ときは、timestamp()メソッドを使います。
from datetime import datetime
dt = datetime(2025, 9, 3, 0, 0, 0)
timestamp = dt.timestamp()
print(timestamp)
1756857600.0
このように、指定した日付や時間を、数値として表すことができます。これもUNIXタイムスタンプです。
5. UNIXタイムスタンプの用途とは?
UNIXタイムスタンプは、次のような場面でよく使われています。
- ファイルの更新日時を記録する
- 予約システムで日時の比較をする
- サーバーのログに時刻を残す
- ゲームのクールタイム(再利用時間)計算
このように、「時間の差」や「並び順」を正確に扱う必要がある場面で大活躍します。
6. タイムスタンプを整数にしたいとき(小数点を切り捨て)
time.time()の結果は小数を含みますが、整数だけ欲しいときはint()関数で切り捨てできます。
import time
timestamp = int(time.time())
print(timestamp)
1693734367
このようにすれば、小数点以下がない「きれいな整数」のUNIXタイムスタンプが得られます。
7. UNIXタイムスタンプの時間差を計算する
UNIXタイムスタンプは「秒数」なので、引き算すれば時間の差が簡単にわかります。
start = time.time()
# 処理をはさんで…
end = time.time()
print("処理時間は", end - start, "秒です")
処理時間は 1.2345 秒です
このように、処理時間を測ったり、何秒経過したかを調べるのにとても便利です。
8. UNIXタイムスタンプは世界共通の「時間のものさし」
UNIXタイムスタンプは、世界中のコンピューターやスマートフォン、サーバーで同じ基準を使っています。そのため、国や言語が違っても正確に時間を共有できるのです。
Pythonでもtime.time()を使えば、このグローバルな基準時間を簡単に扱うことができるため、初心者でもプロ並みに正確な時間処理ができます。