python中的时间操作
python中time、datetime两个模块均可进行时间操作;二者均可以获取时间、转换时间;time模块特有进行进程阻塞,datetime模块特有计算时间差;总的来说,时间操作优先使用datetime模块,time仅用于进程阻塞。
datetime中包含date(日期)、time(时间)、datetime(日期时间)、timedelta(时间差)四个类
时间戳:指以1970年1月1日 00:00:00 UTC+00:00为基准(记为0),当前时刻距离基准的时间间隔;时间戳只表示时间间隔,与时区无关;python中时间戳是浮点数,表示距离基准的秒数,Java中时间戳是整数,表示距离基准的毫秒数,二者相差1000倍;
注意:以下代码中,datetime指的是datetime类,即datetime.datetime,而非datetime模块
PS:时间操作还有calendar类
一 时间获取
time直接获取的是时间戳,datetime直接获取的是可读时间
time.time() # 为时间戳
datetime.now() # 为格式化时间
二 时间转换
time中时间形式有:时间戳、结构化时间元组、格式化时间字符串
datetime中时间形式有:时间戳、结构化时间元组、格式化时间、格式化时间字符串
时间戳: 1592707139.9442494
时间元组: time.struct_time(tm_year=2020, tm_mon=6, tm_mday=21, tm_hour=10, tm_min=38, tm_sec=59, tm_wday=6, tm_yday=173, tm_isdst=0)
格式化时间: Sun Jun 21 10:38:59 2020
格式化时间字符串: 'Sun Jun 21 10:38:59 2020'
time中没有专门的类来表示格式化的时间,直接是用字符串表示
datetime中用datetime类表示格式化时间
时间与时间戳转换在两个模块中含义不同:time指的是结构化时间元组与时间戳之间进行转换,datetime中指的是格式化时间与时间戳之间进行转换;
time.mktime(stru