Python常用モジュール


timeモジュール
import time

print(time.time())  #    
print(time.mktime(time.localtime()))  # struct_time  ——>    

print(time.strftime('%Y-%m-%d %H:%M:%S'))  #        
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))  # struct_time ——> Format String

print(time.localtime()) #        
print(time.localtime(1594193367))  #     -> struct_time
print(time.gmtime(1594193367))
print(time.strptime('2020-07-08 15:45:18', '%Y-%m-%d %H:%M:%S'))  # Format String  ——> struct_time

'''
asctime  

'''

print(time.asctime())
print(time.asctime(time.localtime()))
print(time.ctime())
print(time.ctime(time.time()))

datetimeモジュール
import datetime
##          
now = datetime.datetime.now()
print("=======================================         ")
print(now)
print(now.strftime('%Y-%m-%d %H:%M:%S.%f%z'))

##          
print("=======================================         ")

dt = datetime.datetime(2021, 4, 19, 12, 20)
print(dt)
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f%z'))

#datetime   timestamp
print("=======================================datetime   timestamp")
dt = datetime.datetime(2019, 4, 19, 12, 20)
print(dt.timestamp())

## timestamp   datetime
print('======================timestamp   datetime')

print(datetime.datetime.fromtimestamp(1618806000)) #        
print(datetime.datetime.utcfromtimestamp(1618806000)) #   UTC       

## str   datatime
print('======================str   datatime')
dt_str = datetime.datetime.strptime('2015-6-1 18:19:59.497222+0000', '%Y-%m-%d %H:%M:%S.%f%z')
print(dt_str)

## datetime   str
print('======================datetime   str')
print(datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=8))).strftime('%Y-%m-%d %H:%M:%S.%f%z'))

## datetime  
print('==================datetime  ')
now=datetime.datetime.now();
print(now+datetime.timedelta(hours=2,days=2))
print(now-datetime.timedelta(hours=2,days=2))

##         
## datetime                      ,          。
##      datetime,          timestamp   ,  timestamp         。

tz_utc_8 = datetime.timezone(datetime.timedelta(hours=8))
tz_utc_0 = datetime.timezone(datetime.timedelta(hours=0))

now1 = datetime.datetime.now(tz=tz_utc_8)
now2 = datetime.datetime.now(tz=tz_utc_0)
print('==================        ')
print(now1,now2)

##     
print('=================    ')
##   UTC     
utc_dt1 = datetime.datetime.now(tz=datetime.timezone.utc)
utc_dt2 = datetime.datetime.now(tz=datetime.timezone(datetime.timedelta(hours=0)))
utc_dt3 = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc)

print('%s,%s,%s' % (utc_dt1, utc_dt2, utc_dt3))

##  UTC         
bj_dt = utc_dt1.astimezone(datetime.timezone(datetime.timedelta(hours=8)))
print(bj_dt)
## astimezone()            
tokyo_dt1 = bj_dt.astimezone(datetime.timezone(datetime.timedelta(hours=9)))
## astimezone()   UTC       
tokyo_dt2 = utc_dt1.astimezone(datetime.timezone(datetime.timedelta(hours=9)))
print(tokyo_dt1, tokyo_dt2)

print(datetime.datetime.strptime('2015-1-21 9:01:30-05:00','%Y-%m-%d %H:%M:%S%z').timestamp())
print(datetime.datetime.strptime('2015-6-1 08:10:30+07:00','%Y-%m-%d %H:%M:%S%z').timestamp())

print("UTC+15:00".replace("UTC","").zfill(6))

def to_timestamp(dt_str, tz_str):
    tzinfo=tz_str.replace("UTC","").zfill(6)
    str_date='%s%s'%(dt_str,tzinfo)
    return datetime.datetime.strptime(str_date,'%Y-%m-%d %H:%M:%S%z').timestamp()

##   :
t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00')
assert t1 == 1433121030.0, t1

t2 = to_timestamp('2015-5-31 16:10:30', 'UTC-09:00')
assert t2 == 1433121030.0, t2

print('ok')

#     https://www.liaoxuefeng.com/wiki/1016959663602400/1017648783851616