一、datetime模块的五大类:

  1. datetime.date:表示日期的类,主要用于处理年、月、日;
  2. datetime.time:表示时间的类,主要用于处理时、分、秒;
  3. datetime.datetime:表示日期时间的类,date类和time类的综合使用,可以处理年、月、日、时、分、秒;
  4. datetime.timedelta:表示时间间隔,即两个时间点的间隔,主要用于做时间加减的
  5. datetime.tzinfo:时区的相关信息。

1、date类:

date类包含三个参数,分别为year,month,day,返回格式为year-month-day。
  • 构造方法:

  • 类方法


  • 2、time类

    (1)静态方法和属性:可以直接通过类名调用;

  • time.min:time类所能表示的最小时间。
  • time.max:time类所能表示的最大时间。
  • time.resolution:time类表示时间的最小单位,这里是1微秒;

    (2)其它常用方法和属性:通过time对象才能调用
  • #  先构造一个time对象
    t=time(10,58,59)
    
    "属性"
    t.hour、t.minute、t.second、t.microsecond:时、分、秒、微秒;
    
    "方法"
    t.replace(hour=,minute=,second=,microsecond=):生成一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性。(原有对象仍保持不变)  
    t.isoformat():返回型如"HH:MM:SS"格式的字符串时间表示;
    t.strftime(format):传入任意格式符,可以输出任意格式的时间表示形式;
    

    3、datetime类的用法

    #获取当前的日期,年月份
    c=datetime.now().date()
    print(c)
    #获取每个时间的序列
    d=datetime.now().timetuple()
    print(d)
    #获取月份(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
    e=datetime.now().timetuple().tm_mon
    print(e)
    # 在我们现在的日期里面加入2天,最后打印出来,这里要注意,模块的使用,有优先级的混淆
    f=datetime.now().date()+timedelta(days=2)
    print(f)
    # 在现在的时间里面向后推迟2个小时
    g=datetime.now()+timedelta(hours=2)
    print(g)
    

    #  求出上一个月的最后一天日期,就用这个月的第一天减1天,这个里面的参数可以改动,默认为月份初始化天
    f=date(day=1,month=date.today().month,year=date.today().year) - timedelta(days=1)
    print(f)
    #  获取世界时间
    g=datetime.utcnow()
    print(g)
    h=datetime.now()
    print(h)
    #时差计算
    i=h-g
    print(i)
    

    j=datetime.now().strftime("%Y-%m-%d %H:%M:%S")#时间类型转为字符串类型
    k=datetime.now()#时间类型
    print(type(j))#显示类型
    print(type(k))
    print(j,end=";")
    print(k)
    

    # 字符串转为时间类型
    l=datetime.strptime("2020-08-18 16:58:46","%Y-%m-%d %H:%M:%S")
    print(l)
    # 返回这个日期是多少年,第几周,第几天
    m=datetime.now().isocalendar()
    print(m)
    

    input_date_str=input('请输入一个日期: ')
    # 把输入的时间转换为时间类型
    input_date=datetime.strptime(input_date_str,'%Y-%m-%d')
    # 利用date.strftime("%j")  计算这个是第几天
    days=int(input_date.strftime("%j"))
    print(input_date_str+'是一年中的第 '+str(days)+' 天')
    

    print(datetime.now().timestamp())	# 时间戳的计算是从1900年1月1日0点开始的, 显示的数值单位为秒
    print(datetime.fromtimestamp(1564229940.623349))	#时间戳转化为日期时间
    


    并非原创,从其他博客中复制的,方便后期查询。

    来源:吴大喜

    物联沃分享整理
    物联沃-IOTWORD物联网 » python中datetime模块详解

    发表评论