日期和时间模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期和时间模块相关的知识,希望对你有一定的参考价值。

摘自:http://my.oschina.net/935572630/blog/397557

http://www.runoob.com/python/python-date-time.html

date类

    date类表示一个日期。日期由年、月、日组成(地球人都知道~~)。date类的构造函数如下:

    class datetime.date(year, month, day):

date.today():返回一个表示当前本地日期的date对象;

# date.today(): 2010-04-06

date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;

data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;

date.strftime(fmt):自定义格式化字符串。在下面详细讲解。

Time类

    time类表示时间,由时、分、秒以及微秒组成。(我不是从火星来的~~)time类的构造函数如下:

    class datetime.time(hour[, minute[, second[, microsecond[, tzinfo]]]]) :各参数的意义不作解释,这里留意一下参数tzinfo,它表示时区信息。注意一下各参数的取值范围:hour的范围为[0, 24),minute的范围为[0, 60),second的范围为[0, 60),microsecond的范围为[0, 1000000)。

    time类定义的类属性:

  • time.min、time.max:time类所能表示的最小、最大时间。其中,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999);

  • time.resolution:时间的最小单位,这里是1微秒;

    time类提供的实例方法和属性:

  • time.hour、time.minute、time.second、time.microsecond:时、分、秒、微秒;

  • time.tzinfo:时区信息;

  • time.replace([hour[, minute[, second[, microsecond[, tzinfo]]]]]):创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变);

  • time.isoformat():返回型如"HH:MM:SS"格式的字符串表示;

  • time.strftime(fmt):返回自定义格式化字符串。在下面详细介绍;

datetime类

    datetime是date与time的结合体,包括date与time的所有信息。它的构造函数如下:datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]),各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

    datetime类定义的类属性与方法:

datetime.today():返回一个表示当前本地时间的datetime对象;

# today(): 2010-04-07 09:48:16.234000

datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;

 

datetime.strptime(date_string, format):将格式字符串转换为datetime对象

  • datetime.year、month、day、hour、minute、second、microsecond、tzinfo:

  • datetime.date():获取date对象;

  • datetime.time():获取time对象;

格式字符串

    datetime、date、time都提供了strftime()方法,该方法接收一个格式字符串,输出日期时间的字符串表示。

python中时间日期格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00=59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

例子:

[python] view plaincopy

    1. dt = datetime.now()  

    2. print ‘(%Y-%m-%d %H:%M:%S %f): ‘, dt.strftime(‘%Y-%m-%d %H:%M:%S %f‘)  

    3. print ‘(%Y-%m-%d %H:%M:%S %p): ‘, dt.strftime(‘%y-%m-%d %I:%M:%S %p‘)  

    4. print ‘%%a: %s ‘ % dt.strftime(‘%a‘)  

    5. print ‘%%A: %s ‘ % dt.strftime(‘%A‘)  

    6. print ‘%%b: %s ‘ % dt.strftime(‘%b‘)  

    7. print ‘%%B: %s ‘ % dt.strftime(‘%B‘)  

    8. print ‘日期时间%%c: %s ‘ % dt.strftime(‘%c‘)  

    9. print ‘日期%%x:%s ‘ % dt.strftime(‘%x‘)  

    10. print ‘时间%%X:%s ‘ % dt.strftime(‘%X‘)  

    11. print ‘今天是这周的第%s天 ‘ % dt.strftime(‘%w‘)  

    12. print ‘今天是今年的第%s天 ‘ % dt.strftime(‘%j‘)  

    13. print ‘今周是今年的第%s周 ‘ % dt.strftime(‘%U‘)  

    14.   

    15. # # ---- 结果 ----  

    16. # (%Y-%m-%d %H:%M:%S %f):  2010-04-07 10:52:18 937000  

    17. # (%Y-%m-%d %H:%M:%S %p):  10-04-07 10:52:18 AM  

    18. # %a: Wed   

    19. # %A: Wednesday   

    20. # %b: Apr   

    21. # %B: April   

    22. # 日期时间%c: 04/07/10 10:52:18   

    23. # 日期%x:04/07/10   

    24. # 时间%X:10:52:18   

    25. # 今天是这周的第3天   

    26. # 今天是今年的第097天   

    27. # 今周是今年的第14周 

以上是关于日期和时间模块的主要内容,如果未能解决你的问题,请参考以下文章

Python 处理日期与时间的全面总结

日期和时间模块

python基础——time模块和datetime模块

python time模块(13)

Python时间日期类型

Python中的时间模块和日期模块