python日期、时间戳和日期字符串之间的转换

此段时间涉及日期和时间戳数据处理较多,转化频繁,总结日期、时间戳、日期字符串之前的转化如下:

引入必要时间相关库:

import time, datetime
import dateutil.relativedelta

返回当前日期的元组(struct_time),含有9个元素的元组

now_time = time.time()  # 返回时间戳,浮点秒数

my_struct = time.localtime(time.time())
print( my_struct)  
#输出 time.struct_time(tm_year=2023, tm_mon=3, tm_mday=3, tm_hour=16, tm_min=42, tm_sec=36, tm_wday=4, tm_yday=62, tm_isdst=0)

当前时间戳

my_timestamp = time.mktime(time.localtime(time.time()))
print(my_timestamp)  # 输出 1677832956.0

时间戳—>日期字符串

my_date_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(my_timestamp))
print(my_date_str)  # 输出 '2023-03-03 16:42:36'

日期字符串—>日期datetime

my_date = datetime.datetime.strptime(my_date_str, "%Y-%m-%d %H:%M:%S")
print(my_date)  # 输出 2023-03-03 16:42:36

时间戳—>日期datetime

stamp_to_datatime = datetime.datetime.strptime(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(my_timestamp)),"%Y-%m-%d %H:%M:%S")
print(stamp_to_datatime)  # 输出  2023-03-03 16:42:36

日期datetime—>时间戳

my_timestamp_1 = int(time.mktime(my_date.timetuple()))
print(my_timestamp)  # 1677832956.0

此外还有日期的增减,总结如下,my_date = 2023-03-03 16:42:36:

# 日期加年、月、日、时、分、秒(减的话更改为负值即可)
my_date_add_year = my_date + dateutil.relativedelta.relativedelta(years=1)
print(my_date_add_year)  # 输出 2024-03-03 16:42:36

my_date_add_month = my_date + dateutil.relativedelta.relativedelta(months=1)
print(my_date_add_month)  # 输出 2023-04-03 16:42:36

my_date_add_day1 = my_date + dateutil.relativedelta.relativedelta(days=1)  # 方法1
print(my_date_add_day1)  # 输出 2023-03-04 16:42:36
my_date_add_day2 = (my_date + datetime.timedelta(days=1))                  # 方法2
print(my_date_add_day2)  # 输出 2023-03-04 16:42:36

my_date_add_hour = (my_date + datetime.timedelta(hours=1))
print(my_date_add_hour)  # 输出 2023-03-03 17:42:36
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南洲.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值