zoukankan      html  css  js  c++  java
  • datetime模块的使用

    datetime模块j python 处理时间和日期的标准库

    date 日期对象,常用的属性有year, month , day
    time 时间对象hour, minute, second, 毫秒
    datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
    timedelta 时间间隔, 即两个时间点之间的长度
    格式字符串常用格式:
    %Y/%y 年
    %m 月
    %d 日
    %H 时
    %M 分
    %S 秒

    datetime类中常用方法
    datetime.now()     获取当前日期时间
    日期时间转化为时间戳: 时间日期对象.timestamp()   # 如: datetime.now().timestamp()
    时间戳转化为日期时间: datetime.fromtimestamp(时间戳)  # 如: datetime.fromtimestamp(1534231316.796308)
    日期时间对象转字符串: 时间日期对象.strftime(format格式)  # 如: datetime.now().strftime('%Y-%m-%d')
    字符串转化为日期时间对象: datetime.strptime(str_date, format格式)   # 如: datetime.strptime('2019-06-01 15:25:30', '%Y-%m-%d %H:%M:%S')  # 注意前后格式要一致
    
    # timedelta: 时间运算
    import datetime
    now = datetime.datetime.now().date()
    res = now + datetime.timedelta(days1)
    print(res.strftime('%Y-%m-%d'))   # 得到明天的日期  # 2019-06-02
    
    res = now - datetime.timedelta(days=3)
    print(res.strftime('%y-%m-%d'))   # 得到三天前的日期  # 19-05-29
    
    from datetime import datetime
    
    dt = datetime.now()
    print('当前日期和时间: {}'.format(dt))
    # print('指定格式输出的当前时间: {}'.format(dt.strftime('%y{y}-%m{m}-%d{d}').format(y='年'.encode(), m='月'.encode(), d='日'.encode())))
    print('指定格式输出的当前时间: {}'.format(dt.strftime('%y{y}-%m{m}-%d{d}').format(y='年', m='月', d='日')))
    print(dt.strftime('%y{y}-%m{m}-%d{d}-%H{H}-%M{M}-%S{S}').format(y='年', m='月', d='日', H='时', M='分', S='秒'))
    
    date = dt.date()  # 日期
    print('日期: {}'.format(date))
    time = dt.time()   # 时间
    print('时间: {}'.format(time))
    
    # import time
    # print(time.time()) # 一个简单的时间戳
    # 从 1970.1.1.0.0
    
    # 时间戳
    ret = dt.timestamp()  # 时间转换为时间戳
    print('当前时间转化为的时间戳: {}'.format(ret))
    
    dt2 = datetime.fromtimestamp(ret)  # 将时间戳转换为时间
    print('当前时间戳转化为的时间:{}'.format(dt2))
    
    import datetime
    
    now_date = datetime.datetime.now()
    dt = datetime.timedelta(hours=24, minutes=45, seconds=50)
    
    print(now_date-dt)
    # print(dt-now_date)      # 报错
    # print(dt+now_date)    # 没有错,但是报高亮显示
    
    date2 = datetime.date(1997, 8, 12)
    print(date2)  # 1997-08-12
    time2 = datetime.time(0, 50, 50)
    print(time2)  # 00:50:50
    
    t = datetime.timedelta(hours=1, weeks=2)    # week 周; 星期    # 两周就是 14 天
    print(date2+t)
    
    
    print('===='*20)
    
    # strftime()
    # stfptime()
    now_date = datetime.datetime.now()
    print(now_date, type(now_date))   # 2019-06-01 17:58:47.393771 <class 'datetime.datetime'>
    
    str_date = now_date.strftime('%Y-%m-%d %H:%M:%S')    # strftime 转换为字符串的时间
    print(str_date, type(str_date))   # 19-06-01 17:58:47 <class 'str'>
    
    date = datetime.datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')  # strptime() 要接收两个参数, 第十个参数要与转换的格式化参数一致
    print(date, type(date))   # 2019-06-01 18:01:35 <class 'datetime.datetime'>
    
  • 相关阅读:
    OpenCV图像数字化
    Matplotlib从兴趣到实践
    NumPy矩阵
    NumPy排序
    NumPy统计函数
    NumPy算输符
    产品路线图详解:主要功能、常见类型和线路图构建技巧
    敏捷和DevOps:是敌是友?
    如何让Git适应敏捷开发流程?
    如何让敏捷中的每日站会发挥最大效果?
  • 原文地址:https://www.cnblogs.com/nichengshishaonian/p/10961349.html
Copyright © 2011-2022 走看看