1
2

More than 5 years have passed since last update.

Python 日時系備忘録

Last updated at Posted at 2019-02-28

やること

限られた機能しか使わないため、
備忘録として、Pythonのdatetimeモジュール系で出来る事を簡単にまとめ。

環境

virtualbox 5.2.26
vagrant 2.1.2
python 3.5.2
mac 10.14.2

日時取得

input.py
from datetime import datetime

now = datetime.now()
print(now.year, '/', now.month, '/', now.day, ' ', now.hour, ':', now.minute, ':', now.second, sep='')
output.py
2019/2/26 12:00:00

時刻がずれていた場合手動で設定

$ sudo date -s "2019/02/26 13:00:00"

※仮想マシンを落とすと同期する設定にしてても時間がズレるため手動で設定。
Vagrantfile弄ったり、Vboxmanage,vboxadd-serviceなどのコマンド色々試したがズレる・・。
解決策探してます。。

日時作成して文字列で表示

input.py
from datetime import datetime 

day = datetime(1853, 6, 3, 13, 00, 00)
str_day = day.strftime('%Y年%m月%d日 %H時%M分%S秒')
print(str_day)
output.py
1853年06月03日 13時00分00秒

文字列を日時に変換

input.py
from datetime import datetime

str_day = '1853/6/3 12:00:00'

day = datetime.strptime(str_day, '%Y/%m/%d %H:%M:%S')
# 指定フォーマットは同じにする。 
print(day)
output.py
1853-06-03 12:00:00

日時の差を求める

input
2019 2 27
input.py
from datetime import datetime
from datetime import timedelta

day = input().strip().replace(' ', '/')

base = datetime.strptime(day, '%Y/%m/%d')
result = base - timedelta(days=10000)
# 入力された日にちから1万日前を求める。

str_result = result.strftime('%Y年%m月%d日')
print(str_result)
output
1991年10月12日

とりあえず、基本的な機能だけ。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2