时间格式转换——pandas._libs.tslibs.timestamps.Timestamp转换成time.struct_time(附时间数组结构转float/int)

pandas._libs.tslibs.timestamps.Timestamp转time.struct_time时间格式步骤

Step-one: ***.to_pydatetime() : pandas._libs.tslibs.timestamps.Timestamp转datetime.datetime格式
Step-two: ***.strftime('%Y-%m-%d %H:%M:%S') : datetime.datetime转化成时间字符串格式,例:2023-01-01 00:00:00
Step-three: time.strptime(***,'%Y-%m-%d %H:%M:%S')+time.mktime() : 时间字符串转时间戳(float类型)
注:时间字符串通过time.strptime()转化成时间数组结构后,可以提取年月日时分秒(int)进行数学操作

# pandas生成单个Timestamp
panda_timestamp = pd.Timestamp("20230815142648")
print(panda_timestamp)
print(type(panda_timestamp))
# out:
# 2023-01-01 00:00:00
# <class 'pandas._libs.tslibs.timestamps.Timestamp'>

# pandas._libs.tslibs.timestamps.Timestamp转datetime.datetime
r = (panda_timestamp.to_pydatetime())
print(r)
print(type(r))
# out:
# 2023-01-01 00:00:00
# <class 'datetime.datetime'>

#datetime.datetime格式转化为时间字符串
time_str = r.strftime('%Y-%m-%d %H:%M:%S')
print(time_str)
print(type(time_str))
# out:
# 2023-08-15 14:26:48
# <class 'str'>

#时间字符串转化成时间数组结构
time_structure = time.strptime(time_str, '%Y-%m-%d %H:%M:%S')
print(time_structure)
print(type(time_structure))
# out:
# time.struct_time(tm_year=2023, tm_mon=8, tm_mday=15, tm_hour=14, tm_min=26, tm_sec=48, tm_wday=1, tm_yday=227, tm_isdst=-1)
# <class 'time.struct_time'>

#时间数组结构转化成time时间戳
time_stamp = time.mktime(time_structure)
print(time_stamp)
print(type(time_stamp))
# out:
# 1692080808.0
# <class 'float'>

#时间数组结构提取年月日时分秒
print("--------时间数组结构取年月日时分秒")
print("时间数组结构:"+time_str+"\n年:{}\n月:{}\n日:{}\n时:{}\n分:{}\n秒:{}".format(time_structure.tm_year, time_structure.tm_mon, time_structure.tm_mday,
      time_structure.tm_hour, time_structure.tm_min, time_structure.tm_sec)
      )
print(type(time_structure.tm_hour))
# out:
# 时间数组结构:2023-08-15 14:26:48
# 年:2023
# 月:8
# 日:15
# 时:14
# 分:26
# 秒:48
# <class 'int'>

注:不同时间格式转换要点在于转换成统一格式——时间字符串,例如:2023-08-15 14:26:48

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值