Pythonで日時処理を行いたい場合、標準ライブラリのdatetimeモジュールが使用できます。

datetimeモジュールは、インポートの指定が必要になりますので、プログラムの先頭に以下が必要となります。

import datetime

参考

現在日時

現在の日時は、datetimeオブジェクトのnowメソッドか、todayメソッドで取得できます。

now = datetime.datetime.now()
print(now)   #=> '2018-11-04 17:59:50.263715'

today = datetime.datetime.today()
print(now)   #=> '2018-11-04 17:59:50.263715'

Unixタイムスタンプを求める

timestampメソッドでUnixタイムを求められますが、得られるのはfloat型になります。

now = datetime.datetime.now()
utime = now.timestamp()
print(utime)   #=> 1541322721.386434

int型にする場合、組み込み関数intを使います。

now = datetime.datetime.now()
utime = int(now.timestamp())
print(utime)   #=> 1541322721

指定した日時を求める

Unixタイムスタンプを求める

日時の文字列からUnixタイムスタンプを求める場合、strptimeを使う方法があります。 ただし、strptimeメソッドは、datetime.datetimeオブジェクトを返すので、さらにtimestampメソッドを使ってUnixタイムスタンプを求めます。

dt = datetime.datetime.strptime('2018-09-18', '%Y-%m-%d')
utime = dt.timestamp()    #=> 1537974000.0 

文字列を求める

日時の文字列(ユーザーが選択した日付など)を別フォーマットに変換する場合、まずdatetime.strptimeで指定文字列の日時のdatetimeオブジェクトを作成します。 datetimeオブジェクトが得られたら、strftimeメソッドで求める文字列にします。

例 '年/月/日' から '年-月-日'の文字列に変換する場合
dt = datetime.datetime.strptime('2018/9/5', '%Y-%m-%d')
str = dt.strftime('%Y-%m-%d')   #=> '2018-09-05'

例 '年/月/日 時:分:秒' から '年-月-日 時:分:秒'の文字列に変換する場合
dt = datetime.datetime.strptime('2018/09/18 23:45:30', '%Y/%m/%d %H:%M:%S')
str = dt.strftime('%Y-%m-%d %H:%M:%S')   #=> '2018-09-18 23:45:30'

文字列から日時情報を取り出す

日時を表す文字列から日時情報を取り出す場合、まず文字列からdatetimeオブジェクトを求めて、それから目的の日時情報を取り出す方法があります。

datetime.strptime

日時を表す文字列からdatetimeオブジェクトを求める場合、datetime.strptimeを使う方法があります。 strptimeで指定できる書式の詳細は以下にあります。

年月日の例です。月や日が1桁の場合、2桁目に0があっても無くても正常に処理してくれます。

str = '2018/09/4'
dt = datetime.datetime.strptime(str, '%Y/%m/%d')

例 年月日と時分秒の場合

str = '2018/9/07 23:45:5'
dt = datetime.datetime.strptime(str, '%Y/%m/%d %H:%M:%S')