python-datetime
4179 ワード
Python-内蔵モジュールdatatime timeモジュールtimeモジュールにおける時間表現のフォーマットは主に3種類ある. timestampタイムスタンプ、タイムスタンプは1970年1月1日00:00:00から秒単位で計算するオフセット量 を表しています. struct_timeタイムメタグループは、9つの要素グループがあります. format timeフォーマット時間、フォーマットされた構造は時間をより読みやすくします.カスタムフォーマットと固定フォーマットが含まれます. datatime datatimeモジュールはtimeモジュールを再カプセル化し、より多くのインタフェースを提供し、提供されるクラスはdate、time、datetime、timedelta、tzinfoである. 現在時刻 を取得する. dateクラス timeクラス time.min、time.max:timeクラスが表す最小、最大時間.そのうちtime.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999); time.resolution:時間の最小単位、ここでは1マイクロ秒です. datetimeクラスはdateとtimeを結合することに相当し、方法とtime、dateの差は 少ない. timedeltaクラス:時間加減 時間フォーマットの相互変換
import time
#1. ,
# 1970 1 1 00:00:00
begin_time=time.time()
print(begin_time) #1532517163.669289
# struct_time to timestamp
print(time.mktime(time.localtime())) #1532517163.0
#2. struct_time
print(time.localtime()) #time.struct_time(tm_year=2018, tm_mon=7, tm_mday=25, tm_hour=19, tm_min=9, tm_sec=58, tm_wday=2, tm_yday=206, tm_isdst=0)
# struct_time
print(time.localtime(time.time())) #time.struct_time(tm_year=2018, tm_mon=7, tm_mday=25, tm_hour=19, tm_min=9, tm_sec=58, tm_wday=2, tm_yday=206, tm_isdst=0)
#3. format_time
# format_time to struct_time
print(time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X')) #time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6, tm_wday=3, tm_yday=125, tm_isdst=-1)
# struct_time to format_time
print(time.strftime("%Y-%m-%d %X",time.localtime())) #2018-07-25 19:21:36
フォーマットパラメータ:%Y世紀部分の10年制年%m 10進数で表される月%d 10進数で表される月の数%H 24時間制の時間%M 10時制で表される分数%S 10進数の秒数%c標準時間、例えば:04/25/17 14:35:14:14このような形式%Xローカル応答時間date_now=datetime.now()
frm_date=date_now.strftime('%Y-%m-%d')
print(frm_date)
from datetime import *
import time
#
print(date.max,date.min,date.today()) #9999-12-31 0001-01-01 2018-07-25
#
print(date.fromtimestamp(time.time())) #2018-07-25
#
d1 = date(2011,6,3)
# , ,
print(d1.year,d1.month,d1.day)
# , , , 。( )
tomorrow = d1.replace(day = 27)
print(tomorrow)
# time.struct_time
print(d1.timetuple())
#
timestamp=int(time.mktime(d1.timetuple()))
print(timestamp) #1307030400
# weekday, , 0; 2, 1,
d1.weekday()
d1.isoweekday() # 1
d1.isocalendar() # (year,month,day)
# strftime time
t1 = datetime.time(10,23,15)#time
t1.hour;t1.minute;t1.second;t1.microsecond# 、 、 、 ;
t1.tzinfo# ;
t1.replace([ hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )# , 、 、 、 ( )
t1.isoformat()# "HH:MM:SS"
t1.strftime(fmt)# time format
print(datetime.today(),datetime.now()) #2018-07-25 20:08:20.443733
print(datetime.fromtimestamp(time.time())) #
print(datetime.combine(date,time))
dt = datetime.now()
#
dt1 = dt + timedelta(days=-1)#
dt2 = dt - timedelta(days=1)#
dt3 = dt + timedelta(days=1)#
delta_obj = dt3-dt
print type(delta_obj),delta_obj# 1 day, 0:00:00
print delta_obj.days ,delta_obj.total_seconds()#1 86400.0
timedeltaを使用すると、日付でdays、時間hour、分、秒、ミリ秒、微妙な時間計算を簡単に行うことができます.月を計算するには別の方法が必要です.`` # 1. datetime
string = '2017/11/10 02:29:58'.replace('/','-')
# string = '2017-11-10 02:29:58'
time1 = datetime.strptime(string, '%Y-%m-%d %H:%M:%S')
print(time1)
print(type(time1))
# 2. datetime string
time1_str = datetime.strftime(time1, '%Y-%m-%d %H:%M:%S')
print(type(time1_str))
print(time1_str)
# 3.
time2=time.time() #
time2_str = datetime.fromtimestamp(time2)
print(time2_str)
# 4.
timeStamp = int(time.mktime(date_now.timetuple()))
print(timeStamp)
# 5.
days=(date_now-time1).days
seconds=(date_now-time1).seconds
print(seconds)