time和datetime之类的东西

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

这篇文章是学习数据可视化的记录原视频链接
B站视频连接

time

先来看一张图
在这里插入图片描述
struct_time(时间元组)是作为时间戳和格式化后的字符串的桥梁的
mktime(t)是将指定时间元组转换为时间戳的
localtime()是将指定时间戳转换为时间元组的可以不写时间戳默认就是当前的时间戳
strftime(format_str,time_tuple) 因为这些东西都是给人看的要增加点可读性
format_str的格式问题
在这里插入图片描述

    # 返回一个时间元组可以通过tm_year取出年份其他的以此类推
    # 将指定时间戳转换为时间元组
    data = time.localtime(12312341234)
    data = time.localtime()
    # string_format,time_tuple
    date = time.strftime('%Y-%m-%d %X',time.localtime())
    print(date)
    # 2023-01-14 21:27:05 + 40天
    str_date = "2023-01-14 21:27:05"
    date_tuple = time.strptime(str_date,'%Y-%m-%d %X')
    result = time.strftime('%Y-%m-%d %X',time.localtime(time.mktime(date_tuple)+24*60*60*40))
    print(result)

datetime

date类

date.today()就是返回今天的日期具体到天
date.fromtimestamp(timestamp)将指定时间戳转换为date对象

常见的方法

取年份月份之类的就是对应的英文单词

函数或属性描述
replace(year,month,day)生成新的日期对象,原对象不受影响,可以单独指定一个参数
timetuple()返回日期对应的time.struct_time对象
weekday()若是星期一返回0若是星期二返回1,依次类推
isoweekday()若是星期一返回1,若是星期二返回2,依次类推
isoformat()返回格式形如’YYYY-MM-DD’的字符串
strftime(format_string)格式化字符串
# 表示当前本地日期的date对象
    print(date.today())
    # 根据给定的时间戳返回一个date对象
    print(date.fromtimestamp(time.time()))
    print(date.fromtimestamp(3212313131))

    n1 = date(2023,1,14)
    # n1.year month day 年月日
    # n1.replace([year|month|day]) 生成一个新的日期对象源对象不变
    # n1.timetuple() 返回对应日期对应的time.struct_time对象
    # n1.weekday() 若是星期一返回1若是星期二返回2以此类推
    # n1.isoformat() 返回格式形如'YYYY-MM-DD'的字符串
    # n1.strftime() 或者和time模块一样
    print(f'年份:{n1.year},月份:{n1.month},天数:{n1.day}')
    print(f'替换后结果{n1.replace(year=1200)}')
    print(f"替换后的结果:{n1.replace(2019,11,1)}源数据{n1}")
    print(f"返回的时间元组:{n1.timetuple()}")
    print(f"今天星期{n1.weekday()}")
    print(n1.strftime('%Y.%m.%d'))
    print(n1.isoformat())
/*
2023-01-14
2023-01-14
2071-10-17
年份:2023,月份:1,天数:14
替换后结果1200-01-14
替换后的结果:2019-11-01源数据2023-01-14
返回的时间元组:time.struct_time(tm_year=2023, tm_mon=1, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=14, tm_isdst=-1)
今天星期5
2023.01.14
2023-01-14

*/

timedelta

昨日期加减法的
timedelta(days)
days>0就是往后推天数
days<0就是往前推天数
明天的日期
date = datetime.now + timedelta(days=1)
返回给定持续时间内覆盖的总秒数
date.total_seconds()

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6