一、》》》时间模块:time;
1)、时间戳(秒)1970年00:00:00定义为0;time.time()
2)、格式化的时间字符串
3)、元组(struct_time)9个元素:年、月、日、时、分、
秒、周几、一年的第几天0-6、tm_isdst=0;
获取方式:time.localtime()
互相转换:
时间戳---->元组形式(struct_time):
time.gmtime(时间戳):转化为国际时间元组形式
time.localtime(时间戳):转化为本地时间元组形式
元组形式(struct_time)---->时间戳:
time.mktime(struct_time)
元组形式(struct_time)---->格式化的字符串:
time.strftime('格式',struct_time)
例子:time.strftime('%Y-%m-%d %H:%M:%S',struct_time)
格式化的字符串---->元组形式:
time.strptime('2016-08-20 14:31:52','%Y-%m-%d %H:%M:%S')
其他方法:
time.asctime():
将struct_time 转换为 %a %b %d %H:%M:%S %Y 串
time.ctime():
将timestamp (时间戳) 转换为 %a %b %d %H:%M:%S %Y 串
二、》》》datetime模块
此处内容转载于https://www.cnblogs.com/sunshineyang/p/6818834.html,谢谢博主的分享;
datetime模块常用的主要有下面这四个类:
1. datetime.date: 是指年月日构成的日期(相当于日历) datetime.date(2018,6,29)返回 (datetime.date格式的时间)
2. datetime.time: 是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)
3. datetime.datetime: 上面两个合在一起,既包含时间又包含日期
4. datetime.timedelta: 时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
1) date类
date类有三个参数,datetime.date(year,month,day),返回year-month-day,返回的对应为datetime.date类型的数据,需要主要date类中均会使用该类型的数据;
对应的方法:
1.datetime.date.ctime(datetime.date类型数据),返回格式如 Sun Apr 16 00:00:00 2017
2.datetime.date.fromtimestamp(timestamp),根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同
3.datetime.date.isocalendar():返回格式如(year,month,day)的tuple元组,(2017, 15, 6)
4.datetime.date.isoformat():返回格式如YYYY-MM-DD,返回字符串
5.datetime.date.isoweekday():返回给定日期的星期(0-6),星期一=0,星期日=6 int
6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期
7.datetime.date.strftime(format):把日期时间按照给定的format进行格式化。
8.datetime.date.timetuple():返回日期对应的time.struct_time对象 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=105, tm_isdst=-1)
9.datetime.date.weekday():返回日期的星期 int
2)、datetime的time类
time类有5个参数,datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30
1.datetime.time.replace()
2.datetime.time.strftime(format):按照format格式返回时间
3.datetime.time.tzname():返回时区名字
4.datetime.time.utcoffset():返回时区的时间偏移量
3)datetime的datetime类
datetime类有很多参数,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]),返回年月日,时分秒
datetime.datetime.ctime()
datetime.datetime.now().date():返回当前日期时间的日期部分
datetime.datetime.now().time():返回当前日期时间的时间部分
datetime.datetime.fromtimestamp()
datetime.datetime.now():返回当前系统时间
datetime.datetime.replace()
datetime.datetime.strftime():由日期格式转化为字符串格式
比如:datetime.datetime.now().strftime('%b-%d-%Y %H:%M:%S') 得到 --------》》》》'Apr-16-2017 21:01:35'
datetime.datetime.strptime():由字符串格式转化为日期格式
举例:datetime.datetime.strptime('Apr-16-2017 21:01:35', '%b-%d-%Y %H:%M:%S') 得到 ---------------》》2017-04-16 21:01:35
4) datetime的timedelta类
datetime.datetime.timedelta用于计算两个日期之间的差值,例如:
>>> a=datetime.datetime.now()
>>> b=datetime.datetime.now()
>>> a
datetime.datetime(2017, 4, 16, 21, 21, 20, 871000)
>>> b
datetime.datetime(2017, 4, 16, 21, 21, 29, 603000)
>>> b-a
datetime.timedelta(0, 8, 732000)
>>> (b-a).seconds
8
或者
time1 = datetime.datetime(2016, 10, 20)
time2 = datetime.datetime(2015, 11, 2)
"""计算天数差值"""
print(time1-time2).days
"""计算两个日期之间相隔的秒数"""
print (time1-time2).total_seconds()