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秒
"""
Python 时间对象 时间字符串 时间戳 相关转换 加减 时间转字符串 时间戳转时间对象
于 2024-04-02 15:07:40 首次发布
本文详细介绍了如何在Python中使用datetime模块进行日期时间对象的转换,包括字符串到时间对象、时间对象到时间戳以及时间差计算的方法。
摘要由CSDN通过智能技术生成