ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
エラーの状況
from datetime import datetime
dt = datetime.now()
print("Now: " + dt)
# TypeError: can only concatenate str (not "datetime.datetime") to str
# 同じく
log = "Event at " + dt
# 同じエラー
対処方法
方法 1: str() で変換
from datetime import datetime
dt = datetime.now()
print("Now: " + str(dt))
# → "Now: 2026-05-15 12:34:56.789012"
方法 2: strftime() でフォーマット指定
dt = datetime.now()
# 日付のみ
print("Date: " + dt.strftime("%Y-%m-%d"))
# → "Date: 2026-05-15"
# 時刻まで
print("Time: " + dt.strftime("%Y-%m-%d %H:%M:%S"))
# → "Time: 2026-05-15 12:34:56"
# 日本語
print(dt.strftime("%Y年%m月%d日 %H時%M分"))
# → "2026年05月15日 12時34分"
# 曜日
print(dt.strftime("%A")) # → "Friday"
print(dt.strftime("%a")) # → "Fri"
# ロケール対応
import locale
locale.setlocale(locale.LC_ALL, "ja_JP.UTF-8")
print(dt.strftime("%a")) # → "金"
方法 3: f-string(推奨)
dt = datetime.now()
# 標準
print(f"Now: {dt}")
# → "Now: 2026-05-15 12:34:56.789012"
# フォーマット指定
print(f"Date: {dt:%Y-%m-%d}")
print(f"Time: {dt:%H:%M:%S}")
print(f"Both: {dt:%Y-%m-%d %H:%M:%S}")
# 配列と組み合わせ
events = [(datetime.now(), "Event A"), (datetime.now(), "Event B")]
for ts, msg in events:
print(f"[{ts:%Y-%m-%d %H:%M}] {msg}")
方法 4: isoformat() (ISO 8601 標準)
dt = datetime.now()
print(dt.isoformat())
# → "2026-05-15T12:34:56.789012"
# タイムゾーン付き
from datetime import timezone
dt = datetime.now(timezone.utc)
print(dt.isoformat())
# → "2026-05-15T03:34:56.789012+00:00"
# 区切り文字変更
print(dt.isoformat(sep=" "))
# → "2026-05-15 03:34:56.789012+00:00"
# マイクロ秒を切り捨て
print(dt.isoformat(timespec="seconds"))
# → "2026-05-15T03:34:56+00:00"
strftime のフォーマット指示子
| 指示子 | 意味 | 例 |
|---|---|---|
%Y | 年 (4 桁) | 2026 |
%y | 年 (2 桁) | 26 |
%m | 月 (01-12) | 05 |
%d | 日 (01-31) | 15 |
%H | 時 (24h, 00-23) | 12 |
%I | 時 (12h, 01-12) | 12 |
%M | 分 | 34 |
%S | 秒 | 56 |
%f | マイクロ秒 | 789012 |
%A | 曜日 (フル) | Friday |
%a | 曜日 (略) | Fri |
%B | 月名 (フル) | May |
%b | 月名 (略) | May |
%p | AM/PM | PM |
%Z | タイムゾーン名 | JST |
%z | タイムゾーンオフセット | +0900 |
%j | 年間通日 | 135 |
逆方向: 文字列 → datetime
from datetime import datetime
# strptime (parse time)
dt = datetime.strptime("2026-05-15", "%Y-%m-%d")
print(dt)
# → 2026-05-15 00:00:00
dt = datetime.strptime("2026/05/15 12:34:56", "%Y/%m/%d %H:%M:%S")
print(dt)
# → 2026-05-15 12:34:56
# ISO 形式は fromisoformat (Python 3.7+)
dt = datetime.fromisoformat("2026-05-15T12:34:56")
print(dt)
# Python 3.11+ で柔軟になった
dt = datetime.fromisoformat("2026-05-15T12:34:56+09:00") # タイムゾーン付き OK
# Unix タイムスタンプ
dt = datetime.fromtimestamp(1684123456)
print(dt)
# → 2023-05-14 ...
タイムゾーン処理
from datetime import datetime, timezone, timedelta
from zoneinfo import ZoneInfo # Python 3.9+
# UTC
dt_utc = datetime.now(timezone.utc)
print(dt_utc.isoformat()) # → "2026-05-15T03:34:56+00:00"
# JST
jst = ZoneInfo("Asia/Tokyo")
dt_jst = datetime.now(jst)
print(dt_jst.isoformat()) # → "2026-05-15T12:34:56+09:00"
# UTC → JST 変換
dt_utc = datetime.now(timezone.utc)
dt_jst = dt_utc.astimezone(jst)
# naive (タイムゾーンなし) → aware (タイムゾーン付き)
dt_naive = datetime(2026, 5, 15, 12, 34)
dt_aware = dt_naive.replace(tzinfo=jst)
# 古い pytz (Python 3.8 以前)
import pytz
jst = pytz.timezone("Asia/Tokyo")
dt = pytz.utc.localize(datetime.utcnow()).astimezone(jst)
類似エラー
| エラー | 対処 |
|---|---|
can only concatenate str (not "datetime.datetime") to str | このページ (str() / strftime() / f-string) |
can only concatenate str (not "int") to str | str(int_val) |
can only concatenate str (not "NoneType") to str | None チェック |
can only concatenate list (not "str") to list | list を str に変換 or [str] にする |
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- ModuleNotFoundError: No module named '~'; '~' is not a package
- pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available
- ...AppData/Local/Microsoft/WindowsApps/python: Permission denied
- 【pycharm】connecting to console が終わらない
- can only concatenate str (not "NoneType") to str
- can only concatenate str (not "datetime.datetime") to str
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?