カテゴリ: Python 更新日: 2026/01/12

Pythonのdatetime.fromtimestampを使ったタイムスタンプ変換ガイド!初心者でもわかる日付操作

Pythonでタイムスタンプを日付に変換する方法(datetime.fromtimestamp())
Pythonでタイムスタンプを日付に変換する方法(datetime.fromtimestamp())

先生と生徒の会話形式で理解しよう

生徒

「Pythonでタイムスタンプを普通の年月日みたいな日付に変換したいんですけど、どうすればいいですか?」

先生

「Pythonでは、datetime.fromtimestamp() という仕組みを使うと、数字のタイムスタンプを簡単に人が読める日付に変えられますよ。」

生徒

「fromtimestampって名前は聞いたことありますけど、どんなタイミングで使うんですか?」

先生

「たとえばスマホのアプリやWebサービスでは、保存のときに '秒の数字' で時刻を扱うことが多いんです。そこから実際の年月日に戻すときに使うんですよ。」

1. タイムスタンプとは?初心者向けに簡単に理解しよう

1. タイムスタンプとは?初心者向けに簡単に理解しよう
1. タイムスタンプとは?初心者向けに簡単に理解しよう

Pythonの日時操作を理解するためには、まず「タイムスタンプ」という言葉を知っておく必要があります。タイムスタンプとは、ある時刻を「1970年1月1日から何秒経ったか」を数字で表したものです。これは世界中のコンピューターで共通して使われている数え方で、アプリ・Webサービス・データベースなどで幅広く使われています。

たとえば、1700000000 のような長い数字がタイムスタンプです。見ただけでは何年何月かわかりませんが、datetime.fromtimestamp() を使えば一瞬で日付に変換できます。

2. datetime.fromtimestamp() の基本の使い方

2. datetime.fromtimestamp() の基本の使い方
2. datetime.fromtimestamp() の基本の使い方

datetime.fromtimestamp() は、タイムスタンプ(秒数)を受け取って、人が読める datetime 型に変換する関数です。まずは基本の使い方を見てみましょう。


from datetime import datetime

ts = 1700000000
dt = datetime.fromtimestamp(ts)

print(dt)

実行すると、次のように変換された日付が表示されます。


2023-11-15 20:53:20

これで、ただの数字のように見えていたタイムスタンプが、具体的な年月日と時刻に変換されました。

3. 日付のフォーマットを変更する方法

3. 日付のフォーマットを変更する方法
3. 日付のフォーマットを変更する方法

変換できたあと、「年月日だけを見たい」「日本のよくある表記にしたい」ということがあります。そんなときは、strftime() を使うと便利です。これは日付の並び順を自由に指定できる仕組みです。


from datetime import datetime

ts = 1700000000
dt = datetime.fromtimestamp(ts)

formatted = dt.strftime("%Y/%m/%d %H:%M:%S")
print(formatted)

2023/11/15 20:53:20

%Y は年、%m は月、%d は日を表すルールです。これらは「フォーマット指定子」と呼ばれ、組み合わせることで好きな表示スタイルを作れます。

4. 日本時間に変換したいときの注意点

4. 日本時間に変換したいときの注意点
4. 日本時間に変換したいときの注意点

datetime.fromtimestamp() は、基本的に「使っているパソコンのタイムゾーン」を基準に変換します。日本の標準時間は UTC+9 と呼ばれる時差を使っているため、海外のサーバーから送られてくるタイムスタンプはずれていることがあります。

その場合、Python のタイムゾーンを指定して変換します。


from datetime import datetime, timezone, timedelta

ts = 1700000000
jst = timezone(timedelta(hours=9))
dt = datetime.fromtimestamp(ts, jst)

print(dt)

2023-11-15 20:53:20+09:00

このように timezone を使うことで、日本時間に合わせた正確な変換ができるようになります。

5. 日付を逆にタイムスタンプへ変換する方法

5. 日付を逆にタイムスタンプへ変換する方法
5. 日付を逆にタイムスタンプへ変換する方法

Python の日時操作では、タイムスタンプから日付に変換するだけでなく、日付からタイムスタンプに戻す場面もあります。そんなときに使うのが timestamp() です。


from datetime import datetime

dt = datetime(2023, 11, 15, 20, 53, 20)
ts = dt.timestamp()

print(ts)

1700000000.0

このように、双方向の変換を行うことができるため、保存や比較がとても便利になります。

6. よくあるエラーと初心者がつまずくポイント

6. よくあるエラーと初心者がつまずくポイント
6. よくあるエラーと初心者がつまずくポイント

タイムスタンプを扱うときに初心者がよくつまずくポイントとして、桁数の違いがあります。Python の fromtimestamp() は「秒」のタイムスタンプを前提にしていますが、スマホや一部のWebサービスでは「ミリ秒」で保存されていることがあります。

ミリ秒のタイムスタンプは 1000 で割る必要があります。


from datetime import datetime

ts_ms = 1700000000000  # ミリ秒
ts = ts_ms / 1000      # 秒に変換

dt = datetime.fromtimestamp(ts)
print(dt)

こうすることで、正しい日付が表示されます。桁数が違うと変な日付になってしまうため、事前に確認することが大切です。

7. 日時操作とデータ分析でも使われるタイムスタンプの重要性

7. 日時操作とデータ分析でも使われるタイムスタンプの重要性
7. 日時操作とデータ分析でも使われるタイムスタンプの重要性

Python の日時操作はデータ分析でもよく使われます。データベースにはタイムスタンプで記録されているケースが多く、fromtimestamp() を使って読みやすい日付に変換し、そこから年月別の集計や日単位の分析を行います。

タイムスタンプが数字で保存される理由は、計算するときに扱いやすいからです。日付を比べたり、差を計算したりするときも、数字であるほうがずっと簡単です。

カテゴリの一覧へ
新着記事
New1
Python
Pythonで過去の日付を取得する方法(timedeltaのマイナス活用)
New2
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
New3
Django
DjangoのURLルーティングとは?初心者向けに仕組みと役割をやさしく解説
New4
Flask
Flask×Celeryでタスクが失敗した場合のリトライ設定を完全解説|初心者でもわかる非同期処理とタスク管理
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで現在の日付・時刻を取得する方法(datetime.now() / today())
No.2
Java&Spring記事人気No2
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.3
Java&Spring記事人気No3
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.4
Java&Spring記事人気No4
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.5
Java&Spring記事人気No5
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.6
Java&Spring記事人気No6
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.7
Java&Spring記事人気No7
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.8
Java&Spring記事人気No8
Flask
Flaskで開発中にデータベースを初期化する方法!初心者でもわかる便利なTips