Python 时间对象 时间字符串 时间戳 相关转换 加减 时间转字符串 时间戳转时间对象

本文详细介绍了如何在Python中使用datetime模块进行日期时间对象的转换,包括字符串到时间对象、时间对象到时间戳以及时间差计算的方法。
摘要由CSDN通过智能技术生成
import datetime

# 时间对象 时间字符串 时间戳 相关转换

# 1. datetime to str
import time

print("1.时间对象转字符串1:", datetime.datetime.now().isoformat(sep=" "))
print("1.时间对象转字符串2:", f"{datetime.datetime.now()}")
print("1.时间对象转字符串3:", datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
print("1.时间对象转字符串4:", datetime.datetime.now().date().strftime('%Y-%m-%d %H:%M:%S'))
print("1.时间对象转字符串5:", datetime.datetime.now().time().strftime('%H:%M:%S'))
print("1.时间对象转字符串6:", datetime.datetime(2024, 4, 2, 12, 0).strftime('%Y-%m-%d %H:%M:%S'))
"""
输出:
1.时间对象转字符串1: 2024-04-02 14:34:12.505526
1.时间对象转字符串2: 2024-04-02 14:34:12.505526
1.时间对象转字符串3: 2024-04-02 14:34:12
1.时间对象转字符串4: 2024-04-02 00:00:00
1.时间对象转字符串5: 14:34:12
1.时间对象转字符串6: 2024-04-02 12:00:00
"""

# 2. str to datetime
print("2.字符串转时间对象(整天)1: ", datetime.datetime.strptime("2024-04-02", "%Y-%m-%d"))
print("2.字符串转时间对象(整点)2: ", datetime.datetime.strptime("2024-04-02 14:01:00", "%Y-%m-%d %H:%M:%S"))
print("2.字符串转时间对象(微妙)3: ", datetime.datetime.strptime("2024-04-02 14:01:00.634111", "%Y-%m-%d %H:%M:%S.%f"))
"""
输出:
2.字符串转时间对象(整天)1:  2024-04-02 00:00:00
2.字符串转时间对象(整点)2:  2024-04-02 14:01:00
2.字符串转时间对象(微妙)3:  2024-04-02 14:01:00.634111
"""

# 3. datetime to timestamp
print("3.时间对象转字符串1: ", datetime.datetime.now().timestamp())
print("3.时间对象转字符串2: ", datetime.datetime(2024, 4, 2, 12, 0).timestamp())
print("3.时间对象转字符串3: ", time.mktime(datetime.datetime.now().timetuple()))
"""
输出:
3.时间对象转字符串1:  1712039652.522224
3.时间对象转字符串2:  1712030400.0
3.时间对象转字符串3:  1712039652.0
"""

# 4. timestamp to datetime
print("4.时间戳转时间对象1", datetime.datetime.fromtimestamp(time.time()))
print("4.时间戳转时间对象2", datetime.datetime.fromtimestamp(1714912134))
"""
输出:
4.时间戳转时间对象1 2024-04-02 14:34:12.522225
4.时间戳转时间对象2 2024-05-05 20:28:54
"""

# 5. str to timestamp

print("5.时间字符串转时间戳1: ", time.mktime(time.strptime("2024-05-05 20:28:54", "%Y-%m-%d %H:%M:%S")))
print("5.时间字符串转时间戳2: ", datetime.datetime.strptime("2024-04-02 14:01:00", "%Y-%m-%d %H:%M:%S").timestamp())
print("5.时间字符串转时间戳2: ", datetime.datetime.strptime("2024-04-02 14:01:00.634111", "%Y-%m-%d %H:%M:%S.%f").timestamp())
"""
输出:
5.时间字符串转时间戳1:  1714912134.0
5.时间字符串转时间戳2:  1712037660.0
5.时间字符串转时间戳2:  1712037660.634111
"""

# 6. timestamp to str

print("6.时间戳转时间字符串1: ", time.localtime(1462451334))
print("6.时间戳转时间字符串2: ", datetime.datetime.fromtimestamp(time.time()))
"""
输出:
6.时间戳转时间字符串1:  time.struct_time(tm_year=2016, tm_mon=5, tm_mday=5, tm_hour=20, tm_min=28, tm_sec=54, tm_wday=3, tm_yday=126, tm_isdst=0)
6.时间戳转时间字符串2:  time.struct_time(tm_year=2024, tm_mon=4, tm_mday=2, tm_hour=14, tm_min=34, tm_sec=12, tm_wday=1, tm_yday=93, tm_isdst=0)
"""

# 时间加减, 获取一天前五小时后
print("7.时间对象减法1", datetime.datetime.now() - datetime.timedelta(days=1))
print("7.时间对象减法2", datetime.datetime.now() + datetime.timedelta(hours=5))
"""
输出:
7.时间对象减法1 2024-04-01 15:08:36.958557
7.时间对象减法2 2024-04-02 20:08:36.958557
"""


# 时间减时间 'days', 'max', 'microseconds', 'min', 'resolution', 'seconds', 'total_seconds'
print("8.时间对象减时间对象1", (datetime.datetime.now() - datetime.datetime(year=2024, month=4, day=1, hour=12, minute=30, second=30)))
print("8.时间对象减时间对象2", (datetime.datetime.now() - datetime.datetime(year=2024, month=4, day=1, hour=12, minute=30, second=30)).total_seconds())
print("8.总秒数转天时分秒3", datetime.timedelta(seconds=94493.950369))
print("8.秒转可以被时间减的对象", datetime.timedelta(seconds=94493.950369))
"""
输出:
8.时间对象减时间对象1 1 day, 2:38:36.094994
8.时间对象减时间对象2 95916.094994
8.总秒数转天时分秒3 1 day, 2:14:53.950369
8.秒转可以被时间减的对象 1 day, 2:14:53.950369
"""

seconds = 94493.950369
days = int(seconds // (24*60*60))
hours = int((seconds % (24*60*60)) // 60*60)
minutes = int((seconds % 60*60) // 60)
seconds = int(seconds % 60)

print("9.秒统计天数:", f"{days}{hours}{minutes}{seconds}秒")
"""
输出:
9.秒统计天数: 1天8040时53分53秒
"""

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python少年班

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

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

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

打赏作者

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

抵扣说明:

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

余额充值