zoukankan      html  css  js  c++  java
  • Python2.7-datetime

    datetime 模块用于操作日期时间
    模块内定义了5个类:date,time,datetime,timedelta,tzinfo

    1、timedelta对象,代表一个时间间隔
    datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]):所有参数均为可选,默认0.0,最终只有days,seconds和microseconds会保留在内部,来确保统一
    类的属性:min,max,resolution
    类的方法:+,-,*,//,abs(),str(),repr(),total_seconds()

    2、date对象,代表一个日期(年月日)
    datetime.date(year, month, day):所有参数都是必须的
    类的属性:min,max,resolution
    类的方法:+,-,<,today(),fromtimestamp(timestamp):从一个时间戳返回日期,时间戳可用time.time()获得,date.fromordinal(ordinal):ordinal为以从1年1月1日为1开始计数的数,返回对应日期
    实例属性:year,month,day
    实例方法:
    replace(year, month, day):返回一个替换日期后的新对象,原对象不变
    timetuple():返回time.struct_time((d.year, d.month, d.day, 0, 0, 0, d.weekday(), yday, -1))
    toordinal():ordinal为以从1年1月1日为1开始计数的数,返回对应日期
    weekday():星期一为0开始计数
    isoweekday():星期一为1开始计数
    isocalendar():每年第一个包含周四的星期为第一周,以此开始计数
    isoformat():返回'YYYY-MM-DD'
    __str__():同上
    ctime():date(2002, 12, 4).ctime() == 'Wed Dec 4 00:00:00 2002'
    strftime(format):控制格式化输出,%d、%m、%y等
    __format__(format):同上

    3、datetime对象,代表一个完整的日期和时间
    datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
    类的属性:min,max,resolution
    类的方法:+,-,<,today(),now([tz]),utcnow(),fromtimestamp(timestamp[, tz]),utcfromtimestamp(timestamp),fromordinal(ordinal),combine(date, time):把date对象和time对象组合,strptime(date_string, format):用format把date_string转成datetime对象
    实例属性:year,month,day,hour,minute,second,microsecond,tzinfo
    实例方法:
    date():返回date对象
    time():返回time对象,tzinfo为None
    timetz():返回有tzinfo属性的time对象
    replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]):返回一个替换日期后的新对象,原对象不变
    astimezone(tz):返回一个新的datetime对象,它拥有tz作为其tzinfo属性,可以使时间变为当地时间,同时又与之前的UTC时间一致,tz一定要是tzinfo的子类
    utcoffset,dst,tzname():都返回self.tzinfo的对应方法
    timetuple():返回time.struct_time((d.year, d.month, d.day, d.hour, d.minute, d.second, d.weekday(), yday, dst))
    utctimetuple():如果实例对象是naive的,结果同上,如果是aware的,就会标准化到UTC时间
    date拥有的方法它也同样拥有,因为是子类

    4、time对象,代表某一天的时间,即小时,分钟,秒,微秒
    datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])
    类的属性:min,max,resolution
    类的方法:比较,hash(用作字典的key),efficient pickling
    实例属性:hour,minute,second,microsecond,tzinfo
    实例方法:replace([hour[, minute[, second[, microsecond[, tzinfo]]]]]),isoformat(),__str__(),strftime(format),__format__(format),utcoffset(),dst(),tzname()

    5、tzinfo对象,是一个抽象基类,不能直接实例化,子类若需要进行pickling,则__init__()方法不能带参数,否则可能会导致unpickle失败
    创建一个具体子类时,根据需要重载以下方法
    utcoffset(self, dt):UTC(协调世界时),返回当地时间的时区,UTC以东为正,以西为负,返回值需为timedelta对象
    dst(self, dt):DST(夏令时)的设置,基本没用
    tzname(self, dt):返回字符串,内容是dt对应的时区名字
    以上方法都是对应于datetime和time对象的方法,datetime对象以自己作为参数,time对象传入None为参数,因此以上方法要考虑到这两种情况

    格式控制如下:

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    C#编程思路
    将字符串类型字段转为map类型字段,使用str_to_map()函数
    写hive脚本时,如果hive的过滤条件比较多。可以把过滤条件放到一个参数里。然后把参数放到过滤条件处。这样以后只需要改参数就可以了
    linux中. 路径/文件
    inner join ,left join 会导致数据发散
    如何批量按分区插入数据
    hive表添加字段后,查不出数据是咋回事?
    linux中$0的含义
    linux中的$#含义
    linux的语法
  • 原文地址:https://www.cnblogs.com/tccbj/p/7641709.html
Copyright © 2011-2022 走看看