python time与datetime模块
一.time介绍
time 模块是python内置模块,datetime 是基于time模块封装的系统模块。datetime 模块比较好用一般使用datetime模块
时间的三种表示:
1. 当前时间戳:time.time() 1635165309.3871517
2. 当前时间元组:time.localtime() time.struct_time(tm_year=2021, tm_mon=10, tm_mday=25, tm_hour=20, tm_min=35, tm_sec=9, tm_wday=0, tm_yday=298, tm_isdst=0)
3. 英文显示时间字符串:time.asctime() Mon Oct 25 20:35:09 2021
时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00
秒)起至现在的总秒数。
时间元组:即用一个元组装起来的9组数字表示时间
Ø t = (2018,6,24,16,56,45,0,0,0) #(年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令
时<1(夏令时)、0(不是夏令时)、-1(未知),默认 -1>)
1. 时间戳转为时间元组:time.localtime(时间戳)
2. 把时间元组转换成时间戳:time.mktime(t)
3. 时间元组转换为字符串:time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
4. 字符串转换为时间元组:time.strptime("2019-09-01 22:29:35",'%Y-%m-%d %H:%M:%s')
二.datetime模块介绍
datetime模块重新封装了time模块,提供更多接口,提供的类有date,time,datetime,timedelta等。
datetime模块中的datetime类
1. 根据给定的值,创建时间元组:datetime.datime(年、月、日、时、分、秒、微秒)
dt=datetime.datetime(2018,6,24,16,56,45,13)
2. 获取当前时间,datetime类中的today()或now()方法
d1=datetime.datetime.today() #获得当前时间datetime
d2=datetime.datetime.now() #获得当前时间datetime
1、datedate类
静态方法和字段
datetime.today():返回一个表示当前本地时间的datetime对象; datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间; datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间 datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息; datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象; datetime.combine(date, time):根据date和time,创建一个datetime对象; datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
方法和属性
dt=datetime.now()#datetime对象 dt.year、month、day、hour、minute、second、microsecond、tzinfo: dt.date():获取date对象; dt.time():获取time对象; dt. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ]): dt. timetuple () dt. utctimetuple () dt. toordinal () dt. weekday () dt. isocalendar () dt. isoformat ([ sep] ) dt. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple())); dt. strftime (format)
2.timedelta类,时间加减
使用timedelta可以很方便的在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算,如果要计算月份则需要另外的办法。
#coding:utf-8 from datetime import * 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#<type 'datetime.timedelta'> 1 day, 0:00:00 print delta_obj.days ,delta_obj.total_seconds()#1 86400.0

浙公网安备 33010602011771号