Pythonの時間形式の使用法time datetime
直接表示できる印刷時刻形式
今のインポート時間
= time.strftime("%Y-%m-%d %H:%M:%S")
print(now)
import datetime
now = datetime.datetime.now()
print(now)
時間を進める
今の日時をインポート
= datetime.datetime.now()
1時間前
d1 = 現在 - datetime.timedelta(hours=1)
print d1.strftime("%Y-%m-%d %H:%S:%M")
前日
d2 = 現在 - datetime.timedelta(days=1)
print d2.strftime("%Y-%m-%d %H:%S:%M")
先週の日曜日
d3 = 現在 - datetime.timedelta(days=now.isoweekday())
print d3.strftime("%Y-%m-%d %H:%S:%M"), " ", d3.isoweekday()
先週の月曜日
d31 = d3 - datetime.timedelta(days=6)
print d31.strftime("%Y-%m-%d %H:%S:%M"), " ", d31.isoweekday()
先月の末日
d4 = 現在 - datetime.timedelta(days=now.day)
print d3.strftime("%Y-%m-%d %H:%S:%M")
先月の初日
print datetime.datetime(d4.year, d4.month, 1)
コードの実行時間を取得する
import time
#タイムスタンプを使用してコードの実行時間を取得できます
starttime = time.time()
for i in range(0, 10):
time.sleep(1)
endtime = time.time()
print “time1: ”, endtime - starttime
#time.time() と time.lock() は、オペレーティング システムが異なると異なる結果になります。
#ubuntu では、time() は時計の過去の時刻を取得し、クロック() は現在の時刻を取得します。 CPU.プロセスの実行時間
print(time.time(), time.clock())
時間文字列からタイムスタンプ、タイムスタンプから時間文字列、日時オブジェクトからタイムスタンプ
#String 時刻から時刻
datestr1 = '2015-06-06 10:10:10'
print 'datestr から時刻:', time.mktime(time.strptime(datestr1, “%Y-%m-%d %H :% MS"))
#時刻変換形式の時刻文字列
time1 = time.time()
print 'time to datestr :', time.strftime("%Y-%m-%d %H:%M:%S", time.localtime (time1) )
#datetime オブジェクトから時刻
datetime1 = datetime.datetime.now()
print 'datetime から時刻:', time.mktime(datetime1.timetuple())
#時間间戳转datetime对象
t1 = time.time()
t2 = t1 + 20
d1 = datetime.datetime.fromtimestamp(t1)
d2 = datetime.datetime.fromtimestamp(t2)
print 'time1 to datetime1 :', datetime.datetime. fromtimestamp(t1)
print 'time2 to datetime2 :'、datetime.datetime.fromtimestamp(t2)
print '秒の差分 :'、(d2 - d1).秒
時刻と日付の書式設定記号の説明
%y # 2 桁の年表現 (00 ~ 99)
%Y # 4 桁の年表現 (000 ~ 9999)
%m # 月 (01 ~ 12)
%d # 月内の 1 日 (0 ~ 31)
%H # 24 時間形式の時間 (0-23)
%I # 12 時間形式の時間 (01-12)
%M # 分 (00=59)
%S # 秒 (00-59)
%a # ローカルの簡略化された週の名前
%A # ローカルの完全な週の名前
%b # ローカルの簡略化された月の名前
%B # ローカルの完全な月の名前
%c # ローカルの対応する日付表現と時間表現
%j # 年間 1 日 (001 ~ 366) )
%p # 現地の AM または PM に相当します
%U # 年間の週数 (00 ~ 53) 日曜日が週の始まりです
%w # 週 (0 ~ 6)、日曜日が週の始まりですWeek
%W # 年の週数 (00-53) 月曜日が週の始まり
%x # 対応する現地の日付は %X で表されます
# 対応する現地時間は %Z で表されます
# の名前現在のタイムゾーン
%% # % 数値そのもの
インターバル時間換算
from datetime import datetime
from pytz import timezone
import pytz
date_format = '%m/%d/%Y %H:%M:%S %Z'
date = datetime.now(tz=pytz.utc)
print('国際標準時:', date.strftime(date_format))
date = date.astimezone(timezone('米国/太平洋'))
print('太平洋時間:', date.strftime(date_format))
timeStr = '2018-12-28T18:21:58.000Z'
BJ_date_time = datetime.strptime(timeStr, '%Y-%m-%dT%H:%M:%S.000Z')
print('北京時間: { }'.format(BJ_date_time))
UTC_date_time = BJ_date_time.astimezone(pytz.utc)
print('国際標準時: {}'.format(UTC_date_time.strftime('%Y-%m-%dT%H:%M: %S.000Z')))
PST_date_time = BJ_date_time.astimezone(timezone('米国/太平洋'))
print('太平洋時間: {}'.format(PST_date_time.strftime('%Y-%m-%dT%H) :%M:%S.000Z')))
0時の時間を取ります
import datetime
#今日の最小時刻 (今日の 0 時)
today_minTime01 = datetime.datetime.combine(datetime.datetime.now(),datetime.time.min).strftime('%Y-%m-%d %H: %M :%S')
#今日の最大時刻 (24 時)
today_minTime02 = datetime.datetime.combine(datetime.datetime.now(),datetime.time.max).strftime('%Y-%m-% d %H: %M:%S')
#N天前0点
yesterday_min_time = datetime.datetime.combine(datetime.date.today() - datetime.timedelta(days=N),datetime.time.min)
#N天前24点(23点59分59秒) )
Yesterday_min_time = datetime.datetime.combine(datetime.date.today() - datetime.timedelta(days=N),datetime.time.min)