• Python之time与datetime模块


    一、》》》时间模块:time;

    1)、时间戳(秒)1970年00:00:00定义为0;time.time()
    2)、格式化的时间字符串
    3)、元组(struct_time)9个元素:年、月、日、时、分、
       秒、周几、一年的第几天0-6、tm_isdst=0;
    获取方式:time.localtime()

    互相转换:
    时间戳---->元组形式(struct_time):
            time.gmtime(时间戳):转化为国际时间元组形式
    time.localtime(时间戳):转化为本地时间元组形式


    元组形式(struct_time)---->时间戳:
            time.mktime(struct_time)
        元组形式(struct_time)---->格式化的字符串:
            time.strftime('格式',struct_time)
    例子:time.strftime('%Y-%m-%d %H:%M:%S',struct_time)

    格式化的字符串---->元组形式:
    time.strptime('2016-08-20 14:31:52','%Y-%m-%d %H:%M:%S')

    其他方法:
    time.asctime():
    将struct_time 转换为 %a %b %d %H:%M:%S %Y 串

    time.ctime():
    将timestamp (时间戳) 转换为 %a %b %d %H:%M:%S %Y 串


    二、》》》datetime模块
    此处内容转载于https://www.cnblogs.com/sunshineyang/p/6818834.html,谢谢博主的分享;

    datetime模块常用的主要有下面这四个类:

    1. datetime.date: 是指年月日构成的日期(相当于日历) datetime.date(2018,6,29)返回 (datetime.date格式的时间)
    2. datetime.time: 是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)
    3. datetime.datetime: 上面两个合在一起,既包含时间又包含日期
    4. datetime.timedelta: 时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。

    1) date类

    date类有三个参数,datetime.date(year,month,day),返回year-month-day,返回的对应为datetime.date类型的数据,需要主要date类中均会使用该类型的数据;

    对应的方法:

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

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

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

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

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

    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():返回日期的星期 int


     2)、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():返回时区的时间偏移量


    3)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


    4) 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()
  • 相关阅读:
    Mysql-update limit限制更新条数
    解决 gitbook serve 报错 Error: listen EADDRINUSE: address already in use :::35729
    解决gulp-gulify报错`warnings` is not a supported option
    解决ionic在手机上拍照图片旋转的问题
    mac OSX chrome 访问HTTPS时提示您的连接不是私密连接,NET::ERR_CERT_INVALID,而且没有“继续”访问按钮
    iView Modal对话框 设置可拖动(dragable)时,一拖就消失
    nvm常用指令
    telegram for mac 登录时手机端收不到验证码
    Ionic 安卓打包或运行报错:You have not accepted the license agreements of the following SDK components
    诡镇奇谈卡牌版 AHLCG 规则简要
  • 原文地址:https://www.cnblogs.com/feigebaqi/p/9240959.html
Copyright © 2020-2023  润新知