千家信息网

Python的datetime怎么使用

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要介绍"Python的datetime怎么使用",在日常操作中,相信很多人在Python的datetime怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2024年11月18日Python的datetime怎么使用

这篇文章主要介绍"Python的datetime怎么使用",在日常操作中,相信很多人在Python的datetime怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python的datetime怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    1. datetime.date 类

    datetime.date 类定义的 date 对象代表日期(年月日如2021.10.30)

    1.1datetime.date 类格式

    class datetime.date(year,month,day)

    参数:不可缺省。如果参数不存在,则会抛出ValueError异常

    • year参数取值范围:[MINYEAR, MAXYEAR]

    • month参数取值范围:[1,12]

    • day参数取值范围:[1,给定年月对应的天数]

    1.2datetime.date类方法和属性

    类方法/属性作用
    date.maxdate对象表示的最大日期,9999-12-31
    date.mindate对象表示的最小日期,0001-01-01
    date.resolutiondate对象表示日期的最大单位,天
    date.today()获取当前本地日期
    date.fromtimestamp(timestamp)将时间戳转换成日期

    date对象方法和属性

    对象方法/属性作用
    d.year表示年
    d.month表示月
    d.day表示日
    d.replace(year,[,month,[,day]])生成一个新的日期
    d.timetuple()返回日期对应的结构化对象
    d.toordinal()返回日期距离起始0001-01-01的第N天
    d.weekday()返回日期是星期几,[0,6] 0代表是星期一
    d.isoweekday返回日期是星期几,[1,7] 1代表是星期一
    d.isocalendar()(year, weekday, isoweekday)形式的元组
    d.isoformat()'YYYY-MM-DD'格式的日期字符串
    d.strftime(format)返回指定格式的日期字符串
    import datetimedat = datetime.date(2021,10,30)print("datetime.date.today()类方法",datetime.date.today())print("date对象year属性:",dat.year)print("date对象month属性:",dat.month)print("date对象day属性:",dat.day)print("date对象replace:",dat.replace(2022))print("date对象timetuple:",dat.timetuple())print("date对象weekday:",dat.weekday())print("date对象isoweekday:",dat.isoweekday())print("date对象isocalendar:",dat.isocalendar())print("date对象isoformat:",dat.isoformat())print("date对象strftime:",dat.strftime("%d-%m-%Y"))

    2. datetime.time 类

    datetime.time 类的对象表示某地某日的时间,独立于任何特定日期,并且可以通过tzinfo对象来调整。

    2.1datetime.time 类格式

    class datetime.time(hour=0,minute=0,second=0,mircrosecond=0,tzinfo=Noe,*,fold=0 )

    参数:所有的参数都是可选的

    1. hour参数取值范围:[0,23]

    2. minute参数取值范围:[0,59]

    3. second参数取值范围:[0,59]

    4. microsecond取值范围:[0,1000000]

    5. tzinfo:可以是None,或者一个tzinfo子类实例

    2.2datetime.time类方法和属性

    类方法/属性作用
    time.maxtime类表示最大时间,time(23, 59, 59, 999999)
    time.mintime类表示最小时间,time(0, 0, 0, 0)
    time.resolution时间的最小单位,1微秒

    2.3datetime.time类方法和属性

    实例方法/属性作用
    t.hour表示时
    t.minute表示分
    t.second表示秒
    t.microsecond表示微秒
    t.tzinfo返回传递time构造方法的tzinfo对象
    t.replace(hour,[,mintue,[,]])生成一个新的时间
    t.isoformat()返回一个'HH:MM:SS.%f'格式的时间字符串
    t.strftime()返回指定格式的时间字符串

    3. datetime.datetime 类

    datetime.datetime 类是datetime.date的子类,包含时间和日期所有信息的对象

    3.1datetime.datetime 类定义格式

    class datetime.datetime(year,month,day,hour=0,minute=0,second=0,mircrosecond=0,tzinfo=Noe,*,fold=0 )

    参数:year,month和day 参数是必填项

    • year参数取值范围:[MINYEAR, MAXYEAR]

    • month参数取值范围:[1,12]

    • day参数取值范围:[1,给定年月对应的天数]

    • hour参数取值范围:[0,23]

    • minute参数取值范围:[0,59]

    • second参数取值范围:[0,59]

    • microsecond取值范围:[0,1000000]

    • tzinfo:可以是None,或者一个tzinfo子类实例

    • fold in [0,1]

    3.2datetime.datetime 类方法和属性

    类方法/属性作用
    datetime.today()f返回当前本期日期时间的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对象

    datetime.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对象
    dt.timetuple()返回datetime对象对应的tuple(不包括tzinfo)
    dt.utctimetuple()返回datetime对象对应的utc时间的tuple(不包括tzinfo)
    dt.timestamp()返回datetime对象对应的时间戳
    dt.toordinal()返回日期是是自 0001-01-01 开始的第多少天
    dt.weekday()返回日期是星期几,[0, 6],0表示星期一
    dt.isocalendar()返回一个元组,格式为:(year, weekday, isoweekday)
    dt.isoformat([sep])返回一个'%Y-%m-%d%H:%M:%S.%f'格式的字符串
    dt.ctime()等价于time模块的time.ctime(time.mktime(d.timetuple()))
    dt.strftime(format)返回指定格式的时间字符串

    4. datetime.timedelta 类

    datetime.timedelta 类定义的对象表示两个date或者time的时间间隔

    4.1datetime.timedelta 类定义格式

    class datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,hours=0,weeks=0 )

    参数:所有参数都是可选并且默认为0

    • 参数类型:整数或者浮点数,正数或者负数

    • 只有days、seconds、microseconds会存储在内部

    换算公式:

    • 1seconds = 1000microsends

    • 1minutes = 60seconds

    • 1hours = 3600seconds

    • 1weeks = 7days

    seconds 取值范围:[0,86399]

    microseconds 取值范围:[0,999999]

    days 取值范围:[-999999999,999999999]

    4.2datetime.timedelta 类方法和属性

    类方法/属性作用
    timedelta.mintimedelta(-999999999)
    timedelta.maxtimedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
    timedelta.resolutiontimedelta(microseconds=1)

    datetime.timedelta 类实例方法和属性

    实例方法/属性作用
    td.days天,[-999999999, 999999999]
    td.seconds秒[0, 86399]
    td.microseconds微秒 [0, 999999]
    td.total_seconds()时间差中包含的总秒数,等价于: td / timedelta(seconds=1)

    5. datetime.tzinfo 类与datetime.timezone 类

    datetime.tzinfo 类是一个抽象基类,该类不会被直接实例化。

    • tzinfo的子类用例捕获有关特定时区的信息

    • tzinfo的实例可以传给datetime和time对象的构造器中

    datetime.timezone 类是tzinfo的子类,它的每一个实例代表一个以与UTC的固定时间差来定义的时区。

    5.1datetime.timezone 类定义格式

    class datetime.timezone(offset,name=None)

    参数:

    • offset 必现要指定一个timedelta对象,表示本地时间与UTC时间差范围在[-24,24]

    • name:是可选的,若指定必须为一个字符串,它将被用作于datetime.tzname()方法返回值

    5.2datetime.timezone 类方法和属性

    类方法/属性作用
    timezone.utcoffset(dt)返回当 timezone 实例被构造时指定的固定值。
    timezone.tzname(dt)返回timezone实例被构造时指定的固定值
    timezone.dst(dt)总是返回none
    timezone.formutc(dt)返回dt+uoffset
    timezone.utc返回UTC时区

    到此,关于"Python的datetime怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

    0