• 常用模块之datetime模块


    和 之前的time模块,datetime模块更直观的打印出来。

    在开发工作中,我们经常需要用到日期与时间,如:

    • 作为日志信息的内容输出
    • 计算某个功能的执行时间
    • 用日期命名一个日志文件的名称
    • 记录或展示某文章的发布或修改时间
    • 其他

    常见的时间表示形式为

    • 时间戳
    • 格式化的时间字符串

    Python中还有其它的时间表示形式

    • time模块的time.struct_time
    • datetime模块的datetime类

    1. datetime模块中定义的类

    datetime模块定义了以下几个类:

    类名称描述
    datetime.date 表示日期,常用的属性有:year, month和day
    datetime.time 表示时间,常用属性有:hour, minute, second, microsecond
    datetime.datetime 表示日期时间主要是datetime.datetime
    datetime.timedelta 表示两个date、time、datetime实例之间的时间间隔,分辨率(最小单位)可达到微秒
    datetime.tzinfo 时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。
    datetime.timezone Python 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量

    需要说明的是:这些类的对象都是不可变的。

     

    需要说明的是struct_time实例的各个属性都是只读的,不可修改。

    datetime.datetime类

    各参数的取值范围为:

    参数名称取值范围
    year [MINYEAR, MAXYEAR]
    month [1, 12]
    day [1, 指定年份的月份中的天数]
    hour [0, 23]
    minute [0, 59]
    second [0, 59]
    microsecond [0, 1000000]
    tzinfo tzinfo的子类对象,如timezone类的实例

    如果一个参数超出了这些范围,会引起ValueError异常。

    类方法和属性:

    类方法/属性名称描述
    datetime.today() 返回一个表示当前本期日期时间的datetime对象
    datetime.now([tz]) 返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上
    datetime.utcnow() 返回当前utc日期时间的datetime对象
    datetime.fromtimestamp(timestamp[, tz]) 根据指定的时间戳创建一个datetime对象
    datetime.utcfromtimestamp(timestamp) 根据指定的时间戳创建一个datetime对象
    datetime.combine(date, time) 把指定的date和time对象整合成一个datetime对象
    datetime.strptime(date_str, format) 将时间字符串转换为datetime对象

    ----->>>>对象方法和属性:

    对象方法/属性名称描述
    dt.year, dt.month, dt.day 年、月、日
    dt.hour, dt.minute, dt.second 时、分、秒
    dt.microsecond, dt.tzinfo 微秒、时区信息
    dt.date() 获取datetime对象对应的date对象
    dt.time() 获取datetime对象对应的time对象, tzinfo 为None
    dt.timetz() 获取datetime对象对应的time对象,tzinfo与datetime对象的tzinfo相同
    dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) 生成并返回一个新的datetime对象,如果所有参数都没有指定,则返回一个与原datetime对象相同的对象
    dt.timetuple() 返回datetime对象对应的tuple(不包括tzinfo)
    dt.utctimetuple() 返回datetime对象对应的utc时间的tuple(不包括tzinfo)
    dt.toordinal() 同date对象
    dt.weekday() 同date对象
    dt.isocalendar() 同date独享
    dt.isoformat([sep]) 返回一个‘%Y-%m-%d
    dt.ctime() 等价于time模块的time.ctime(time.mktime(d.timetuple()))
    dt.strftime(format) 返回指定格式的时间字符串

    *时间运算:

    >>>datetime.datetime.now() +datetime.timedate(hours = 4)

    *时间替换:

    d= datetime.datetime.now()

    d.replace(years= 18)

  • 相关阅读:
    教你如何把切割好的html页面转换成可供DIY的页面
    [二次开发][Discuz!X] Discuz!二次开发基本知识
    discuz之C::t 方法
    header_userstatus.htm文件注释
    【discuzx2】header.htm模板文件深入分析
    discuz的页头header和页尾footer文件必要代码
    discuz全局数组变量 后台各项设置 完整版
    交换机到底有没有MAC地址?
    妙味课堂—JavaScript基础课程笔记
    jquery 绘图工具 flot 学习笔记
  • 原文地址:https://www.cnblogs.com/z18271397173/p/8508537.html
Copyright © 2020-2023  润新知