python日期和时间

  

前言

  

python中常用的处理时间的模块有两个:时间模块,datetime模块,时间模块是比较基础的一个模块,可满足对时间类型数据的基本处理;而datetime模块可以看做是对时间模块的一个高级封装,功能更加强大,例如在时间的加减上(获取指定时间的前(后)一天的时间,获取指定时间的前(后)一小时的时间),使用datetime模块,实现起来更为方便~

  

时间模块

  

时间也是一个数据类型,这个类型中的数据一般可分为3类时间形式:时间戳(时间戳),结构化时间(struct_time),格式化的时间字符串(格式字符串)~

  

时间戳(时间戳)

  

在计算机中,时间是用数字来表示的.1970年1月1日就是UTC + 00:00时区的时刻称为时代,记为0(1970年以前的时间时间戳为负数),当前时间就是相对于时代时间的秒数(浮点型),即时间戳。

获取当前时间的时间戳:

  ,
 <代码>祝辞的在比;导入的时间
  在在在time.time ()
  1539009280.9001613 #浮动类型 
  

结构化时间

  

结构化时间是一个struct_time元组,其中有9个字段,具体说明如下:

           字段   说明               tm_year   年,例如:2018         tm_mon   月,取值:1 - 12         tm_mday   日,取值:日至31日         tm_hour   小时,取值:0-23         tm_min   分钟,取值:0-59         tm_sec   秒,取值:0-60         tm_wday   星期几,取值:0到6(0是周一)         tm_yday   一年中的第几天,取值:1到366         tm_isdst   标志位,决定是否为夏令时,取值:1,0,1            

获取当前时间的结构化时间:

  ,
 <代码>祝辞的在比;time.localtime ()
  时间。struct_time (tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=22日tm_min=59, tm_sec=12, tm_wday=0, tm_yday=281, tm_isdst=0)
  
  # time.localtime()还可以接收一个时间戳参数,获取指定的时间:
  在在在time.localtime (10)
  时间。struct_time (tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=10, tm_wday=3, tm_yday=1, tm_isdst=0)
  
  #提示:由于是东8时区所以tm_hour是8,而不是0 ~
  
  # time.gmtime()与time.localtime()作用类似,区别在于本地时间()返回的是当前时区的时间,gmtime()返回的是格林威治时间,即UTC时间~
  在在在time.gmtime ()
  时间。struct_time (tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=15, tm_min=5, tm_sec=25日tm_wday=0, tm_yday=281, tm_isdst=0)
  在在在time.gmtime (10)
  时间。struct_time (tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=10, tm_wday=3, tm_yday=1, tm_isdst=0)  
  

也可以手动创建结构化时间(9个参数依次传入,注意是以元组的方式传入),这种方式并不常用:

  ,
 <代码>祝辞的在比;time.struct_time((0 8 2018年10日,23日,9日,3335年,1))
  时间。struct_time (tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=23日tm_min=0, tm_sec=9, tm_wday=3, tm_yday=335, tm_isdst=1)  
  

格式化的时间字符串

  

格式化的时间字符串就是使用字符串表示时间,例如:2018-10-08 23:13:23。

  

字符串时间的获取:

  ,
 <代码>祝辞的在比;time.ctime ()
  “太阳2018年10月14日08:32:04”
  在在在time.asctime ()
  “太阳2018年10月14日08:32:10” 
  

3种时间形式之间的转换关系

  

 python日期和时间

  
结构化时间和时间字符串之间的相互转换h5> <强>结构化时间转为字符串时间

  ,
 <代码>祝辞的在比;时间。strftime (“% Y - % m - H % d %: % m: % S的,time.localtime ())
  “2018-10-14 08:42:58”
  
  # strftime函数的第一个参数指定时间的格式,可以根据需求而定,例如仅获取时间年月日
  在在在时间。strftime (Y % m % d ' ' %, time.localtime ())
  代码“20181014” 
  

时间格的格式式如下:

  
 <代码> %本地(本地)简化星期名称
  %一本地完整星期名称
  % b本地简化月份名称
  % B本地完整月份名称
  % c本地相应的日期和时间表示
  % d一个月中的第几天(01-31)
  % H一天中的第几个小时(24小时制,00-23)
  % l一天中的第几个小时(12个小时制,01-12)
  % j一年中的第几天(01 - 366)
  % m月份(01-12)
  % M分钟数(00-59)
  % p本地上午或下午者的相应符
  % S秒(01 - 61)
  % U一年中的星期数(00-53,星期天是一个星期的开始,第一个星期天之前的所有天数都放在第0周)
  % w一个星期中的第几天(0,0是星期天)
  % W和% U基本相同,不同的是% W以星期一为一个星期的开始
  % x本地相应日期
  % X本地相应时间
  % y去掉世纪的年份(00 - 99)
  % Y完整的年份
  % z用+ HHMM或者-HHMM表示距离格林威治的时区偏移(H代表十进制的小时数,M代表十进制的分钟数)
  % Z时区的名字(如果不存在为空字符)
  % % %号本身
  % % p只有与我配合使用才有效果
  当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候% U和% W才会被计算

python日期和时间