这篇文章是学习数据可视化的记录,原视频链接
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()