Python中time和datetime模块的简单用法
python中与时间相关的一个模块是time模块,datetime模块可以看为是time模块的高级封装。
time模块中经常用到的有一下几个方法:
- 
time()用来获取时间戳,表示的结果为从1970年1月1日开始计算到现在时间之间的秒数。如:
 time.time()
 输出:1507727656.9446979 #今天是2017/10/11 21:15:00
- 
localtime()获取当前时间信息。包含年月日时分秒等等。返回结果以元组的形式返回。如:
 time.localtime()
 输出:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=21, tm_min=14, tm_sec=16, tm_wday=2, tm_yday=284, tm_isdst=0)
 将时间戳转换为日期格式:
 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1521879629)) #当地时间
 time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1521879629)) #标准时间
- 
strftime()它可以将localtime()中获取的时间元组转换为自定义的日期时间格式进行。如:
 time.strftime("%Y-%m-%d %H:%M:%S",struct_local_time)
 输出:2017-10-10/11/17 21:14:16
 其中%Y-%m-%D %H:%M:%S即为自定义的日期时间格式,字母有一下的含义:
 %a 显示简化星期名称 
 %A 显示完整星期名称
 %b 显示简化月份名称
 %B 显示完整月份名称
 %c 本地相应的日期和时间表示
 %d 显示当月第几天
 %H 按24小时制显示小时
 %I 按12小时制显示小时
 %j 显示当年第几天
 %m 显示月份
 %M 显示分钟数)
 %p 本地am或者pm的相应符
 %S 显示秒数)
 %U 一年中的星期数
 %w 显示在星期中的第几天,默认从0开始表示周一
 %W 和%U基本相同
 %x 本地相应日期
 %X 本地相应时间
 %y 去掉世纪的年份(00 - 99)
 %Y 完整的年份
 %Z 时区的名字(如果不存在为空字符)
 %% ‘%’字符
- 
gmtime()可以将时间秒转换为日期时间,此时日期和时间表示的是标准时间,北京时间为标准时间加上8个小时。不传入参数代表当前时间即转换time()函数的结果。如:
 time.gmtime()
 输出:time.struct_time(tm_year=2017, tm_mon=10, tm_mday=11, tm_hour=13, tm_min=34, tm_sec=13, tm_wday=2, tm_yday=284, tm_isdst=0)
 当传入参数时。如:
 time.gmtime(1403127843)
 输出:time.struct_time(tm_year=2014, tm_mon=6, tm_mday=18, tm_hour=21, tm_min=44, tm_sec=3, tm_wday=2, tm_yday=169, tm_isdst=0)
- 
asctime()和ctime()两个都会返回固定格式的当前日期和时间(Wed Oct 11 21:35:28 2017),但两个接收的参数不同。
 asctime()接收的是元组格式的日期时间,而ctime()接收的是秒。然后都返回本地的格式化后的日期时间。如:
 ctime(1403127843)
 输出:Thu Jun 19 05:44:03 2014
 asctime(time.localtime())
 输出:Wed Oct 11 21:42:56 2017
 当两个方法都不传入参数,返回的都为当前日期和时间:如:
 Wed Oct 11 21:45:42 2017 
 Wed Oct 11 21:45:42 2017
- 
mktime()将元组形式的日期时间转换为秒的形式。必须有参数!如:
 mktime(time.gmtime()) #time.gmtime()返回的为元组形式的标准时间。
 输出:1507700832.0
关于datetime模块,使用的时候建议仅使用当中的now()方法。如:
- 
datetime.datetime.now()输出:2017-10-13 10:12:17.174169
- 
timedelta()timedelta 方法必须与其他方法配合使用,不能单独存在。参数有不同的形式。如:
 datetime.datetime.now()+datetime.timedelta(3)
 输出:2017-10-16 10:12:17.174169 #表示今天向后推3天,也可以为负数,表示向前推几天
- 
此外还有另外的参数形式。如:datetime.datetime.now()+datetime.timedelta(minutes=20)
 输出:2017-10-13 10:32:17.174169 #表示现在的20分钟后
 datetime.datetime.now()+datetime.timedelta(minutes=20,hours=2)
 输出:2017-10-13 12:32:17.174669 #小时和分钟向后推
----------------------------------------声明----------------------------------------
----------------------------------------end----------------------------------------
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号