美文网首页
Python碎碎念(5):日期和时间

Python碎碎念(5):日期和时间

作者: xxlee | 来源:发表于2021-08-16 11:49 被阅读0次

    转载请在文章起始处注明出处,谢谢。

    本文转自日期和时间,仅供学习使用。

    日期和时间

    Python内建的datetime模块提供了datetimedatetime类型。datetime类型结合了datetime,是最常使用的:

    In [102]: from datetime import datetime, date, time
    
    In [103]: dt = datetime(2011, 10, 29, 20, 30, 21)
    
    In [104]: dt.day
    Out[104]: 29
    
    In [105]: dt.minute
    Out[105]: 30
    

    根据datetime实例,你可以用datetime提取出各自的对象:

    In [106]: dt.date()
    Out[106]: datetime.date(2011, 10, 29)
    
    In [107]: dt.time()
    Out[107]: datetime.time(20, 30, 21)
    

    strftime方法可以将datetime格式化为字符串:

    In [108]: dt.strftime('%m/%d/%Y %H:%M')
    Out[108]: '10/29/2011 20:30'
    

    strptime可以将字符串转换成datetime对象:

    In [109]: datetime.strptime('20091031', '%Y%m%d')
    Out[109]: datetime.datetime(2009, 10, 31, 0, 0)
    

    表2-5列出了所有的格式化命令。

    表2-5 Datetime格式化指令(与ISO C89兼容)

    当你聚类或对时间序列进行分组,替换datetimes的time字段有时会很有用。例如,用0替换分和秒:

    In [110]: dt.replace(minute=0, second=0)
    Out[110]: datetime.datetime(2011, 10, 29, 20, 0)
    

    因为datetime.datetime是不可变类型,上面的方法会产生新的对象。

    两个datetime对象的差会产生一个datetime.timedelta类型:

    In [111]: dt2 = datetime(2011, 11, 15, 22, 30)
    
    In [112]: delta = dt2 - dt
    
    In [113]: delta
    Out[113]: datetime.timedelta(17, 7179)
    
    In [114]: type(delta)
    Out[114]: datetime.timedelta
    

    结果timedelta(17, 7179)指明了timedelta将17天、7179秒的编码方式。

    timedelta添加到datetime,会产生一个新的偏移datetime

    In [115]: dt
    Out[115]: datetime.datetime(2011, 10, 29, 20, 30, 21)
    
    In [116]: dt + delta
    Out[116]: datetime.datetime(2011, 11, 15, 22, 30)
    

    相关文章

      网友评论

          本文标题:Python碎碎念(5):日期和时间

          本文链接:https://www.haomeiwen.com/subject/mvembltx.html