zoukankan      html  css  js  c++  java
  • Python的datetime模块分析

    转:https://www.cnblogs.com/cindy-cindy/p/6720196.html

    datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.

    datetime模块定义了5个类,分别是

    1.datetime.date:表示日期的类

    2.datetime.datetime:表示日期时间的类

    3.datetime.time:表示时间的类

    4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

    5.datetime.tzinfo:时区的相关信息

    一、首先看一下datetime.date类:

    date类有三个参数,datetime.date(year,month,day),返回year-month-day

    方法:

    1.datetime.date.ctime(),返回格式如 Sun Apr 16 00:00:00 2017

    2.datetime.date.fromtimestamp(timestamp),根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同

    3.datetime.date.isocalendar():返回格式如(year,month,day)的元组,(2017, 15, 6)

    4.datetime.date.isoformat():返回格式如YYYY-MM-DD

    5.datetime.date.isoweekday():返回给定日期的星期(0-6),星期一=0,星期日=6

    6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期

    7.datetime.date.strftime(format):把日期时间按照给定的format进行格式化。

    8.datetime.date.timetuple():返回日期对应的time.struct_time对象

      time.struct_time(tm_year=2017, tm_mon=4, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=105, tm_isdst=-1)

    9.datetime.date.weekday():返回日期的星期

    python中时间日期格式化符号:

    %y 两位数的年份表示(00-99)

    %Y 四位数的年份表示(000-9999)

    %m 月份(01-12)

    %d 月内中的一天(0-31)

    %H 24小时制小时数(0-23)

    %I 12小时制小时数(01-12)

    %M 分钟数(00=59)

    %S 秒(00-59)

    %a 本地简化星期名称

    %A 本地完整星期名称

    %b 本地简化的月份名称

    %B 本地完整的月份名称

    %c 本地相应的日期表示和时间表示

    %j 年内的一天(001-366)

    %p 本地A.M.或P.M.的等价符

    %U 一年中的星期数(00-53)星期天为星期的开始

    %w 星期(0-6),星期天为星期的开始

    %W 一年中的星期数(00-53)星期一为星期的开始

    %x 本地相应的日期表示

    %X 本地相应的时间表示

    %Z 当前时区的名称

    %% %号本身

    二、看一下datetime的time类

    time类有5个参数,datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30

    1.datetime.time.replace()

    2.datetime.time.strftime(format):按照format格式返回时间

    3.datetime.time.tzname():返回时区名字

    4.datetime.time.utcoffset():返回时区的时间偏移量

    三、datetime的datetime类

    datetime类有很多参数,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]),返回年月日,时分秒

    datetime.datetime.ctime()

    datetime.datetime.now().date():返回当前日期时间的日期部分

    datetime.datetime.now().time():返回当前日期时间的时间部分

    datetime.datetime.fromtimestamp()

    datetime.datetime.now():返回当前系统时间

    datetime.datetime.replace()

    datetime.datetime.strftime():由日期格式转化为字符串格式

      datetime.datetime.now().strftime('%b-%d-%Y %H:%M:%S')
      'Apr-16-2017 21:01:35'

    datetime.datetime.strptime():由字符串格式转化为日期格式

    datetime.datetime.strptime('Apr-16-2017 21:01:35', '%b-%d-%Y %H:%M:%S')
    2017-04-16 21:01:35

     四、datetime的timedelta类

    datetime.datetime.timedelta用于计算两个日期之间的差值,例如:

    >>> a=datetime.datetime.now()
    >>> b=datetime.datetime.now()
    >>> a
    datetime.datetime(2017, 4, 16, 21, 21, 20, 871000)
    >>> b
    datetime.datetime(2017, 4, 16, 21, 21, 29, 603000)

    >>> b-a
    datetime.timedelta(0, 8, 732000)
    >>> (b-a).seconds
    8

    或者

    time1 = datetime.datetime(2016, 10, 20)
    time2 = datetime.datetime(2015, 11, 2)

    """计算天数差值"""
    print(time1-time2).days

    """计算两个日期之间相隔的秒数"""
    print (time1-time2).total_seconds()
  • 相关阅读:
    HDOJ 2095 find your present (2)
    HDOJ 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
    九度 1337 寻找最长合法括号序列
    九度 1357 疯狂地Jobdu序列
    HDOJ 1280 前m大的数
    九度 1343 城际公路网
    九度 1347 孤岛连通工程
    HDOJ 2151 Worm
    九度 1342 寻找最长合法括号序列II
    九度 1346 会员积分排序
  • 原文地址:https://www.cnblogs.com/shmily2018/p/9541451.html
Copyright © 2011-2022 走看看