zoukankan      html  css  js  c++  java
  • Python 学习 第15篇:日期和时间

    datetime模块中包含五种基本类型:date、time、datetime、timedelta和tzinfo,tz是time zone的缩写,tzinfo用于表示时区信息,timedelta 表示两个datetime之间的差值。时间戳是指某一个特定的时刻,通常使用datetime对象来表示。

    一,date类型

    date类型表示日期,是由year、month和day构成的对象

    1,初始化date对象

    使用date(year,month,day)函数来初始化date对象:

    from datetime import date
    mydate=date(year,month,day)

    2,date对象函数

    date对象可以返回日期的year,month和day:

    • mydate.year
    • mydate.month
    • mydate.day

    date类型的类型方法 date.today() 用于返回当前的日期

    >>> from datetime import date
    >>> date.today()
    datetime.date(2019, 6, 27)

     3,date对象的格式化

    把date对象转换为标准化的字符串 ‘YYYY-MM-DD’

    >>> mydate=date(2019,3,1)
    >>> mydate.__str__()
    '2019-03-01'
    >>> mydate.isoformat()
    '2019-03-01'
    >>> str(mydate)
    '2019-03-01'

    自定义格式:

    • %Y:4位数表示的年份,YYYY
    • %m:2位数字表示的月份,MM
    • %d:2位数字表示的天份,DD
    >>> mydate.strftime('%Y-%m-%d')
    '2019-03-01'
    >>> mydate.__format__('%Y-%m-%d')
    '2019-03-01'

    二,time类型

    时间类型表示时间,不带日期属性,是由时、分、秒、毫秒和时区构成的对象,毫秒的取值范围是0~999999。

    time(hour, minute, second[, microsecond[, tzinfo]])

    时间对象的属性:

    • mytime.hour
    • mytime.minute
    • mytime.second
    • mytime.microsecond
    • mytime.tzinfo

    时间对象的格式化:

    • %H:2位数字表示的24小时制
    • %I:2位数字表示的12小时制
    • %M:两位数字表示的分钟
    • %S:2位数字表示的秒
    • %f:6位数字表示的毫秒

    三,datetime类型

    datetime类型既包括日期,也包括时间,是由日期和时间构成的类型:

    datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

    datetime对象的属性:year、month、day、hour、minute、second、microsecond和tzinfo。

    datetime对象的函数:

    • mydatetime.date()
    • mydatetime.time(),不带time zone,或者认为time zone是None
    • mydatetime.timetz(),带有time zone

    当前的日期和时间

    from datetime import datetime
    datetime.today()
    datetime.utcnow()
    datetime.now([tz])

    四,timedelta类型

    timedelta对象表示的是一个期间,是两个日期或时间之间的差值。注意,参数中没有年份。所有的参数都是可选的,默认值是0。

    datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

    通过timedelta()来计算日期的增加或减少:

    >>> from datetime import timedelta
    >>> date(2019,3,1) + timedelta(days = 1)
    datetime.date(2019, 3, 2)
    >>> date(2019,4,1) + timedelta(days = -1)
    datetime.date(2019, 3, 31)

    五,strftime() 和 strptime()

    date、time和datetime对象都有函数strftime(format),用于把日期和时间转换为具有特定格式的字符串,而类方法 datetime.strptime(date_string, format),用于把格式化的字符串转换为日期和时间类型。

    举个例子,把字符串转为date类型:

    >>> import datetime
    >>> date_str = '2017-01-01'
    >>> datetime.datetime.strptime(date_str,'%Y-%m-%d').date()
    datetime.date(2017, 1, 1)

    参考文档:

    8.1. datetime — Basic date and time types

    【Python】datetime库详解

  • 相关阅读:
    python pyinotify模块详解
    lastpass密码管理工具使用教程
    MAMP 环境下安装Redis扩展
    SourceTree使用方法
    Mac securecrt 破解
    Memcache 安装
    Warning: setcookie() expects parameter 3 to be long, string given
    SQLSTATE[HY000] [2002] Connection refused
    插件管理无法访问
    光栅化渲染器
  • 原文地址:https://www.cnblogs.com/ljhdo/p/10649371.html
Copyright © 2011-2022 走看看