Python中时间datetime的处理与转换用法总结
datetime
是 Python 中处理日期和时间的常用模块。它提供了许多功能强大、易于使用的日期和时间处理方法。本文将介绍 datetime
模块的使用方法。
1. datetime 对象的创建
要创建一个 datetime
对象,需要先导入模块:
from datetime import datetime
然后,可以使用以下语法创建一个 datetime
对象:
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
其中,year
、month
和 day
是必须传入的参数,它们分别表示年、月和日。如果还需要指定时、分、秒、毫秒和时区,可以分别传入 hour
、minute
、second
、microsecond
和 tzinfo
参数。
以下是一些创建 datetime
对象的示例代码:
# 创建当前日期和时间的 datetime 对象
now = datetime.now()
print("当前日期和时间:", now)
# 创建日期和时间的 datetime 对象
dt = datetime(2021, 12, 31, 23, 59, 59)
print("指定日期和时间:", dt)
# 创建带时区的 datetime 对象
from datetime import timezone
tz_utc_8 = timezone(timedelta(hours=8)) # 东八区时区
dt = datetime(2021, 12, 31, 23, 59, 59, tzinfo=tz_utc_8)
print("带时区的日期和时间:", dt)
2. datetime 对象的格式化输出
datetime
对象可以通过 strftime(format)
方法格式化输出。其中,format
参数是一个特定格式的字符串,以此来指定输出格式。
以下是一些常用格式化字符串的示例:
格式化字符串 | 说明 |
---|---|
%Y |
4 位数的年份(例如:2021) |
%m |
月份(01~12) |
%d |
月内中的一天(01~31) |
%H |
24 小时制小时数(00~23) |
%M |
分钟数(00~59) |
%S |
秒数(00~59) |
%f |
微秒数(000000~999999) |
%a |
星期几的简称(例如:Sun) |
%A |
星期几的全称(例如:Sunday) |
%b |
月份的简称(例如:Jan) |
%B |
月份的全称(例如:January) |
%c |
日期和时间(例如:Tue Dec 31 23:59:59 2021) |
%p |
上午或下午(AM/PM) |
%z |
UTC 时区偏移量(例如:+0800) |
%Z |
时区名称(例如:CST) |
%j |
年份中的第几天(001~366) |
%U |
年份中的第几周(00~53)(星期天是一周的开始) |
%W |
年份中的第几周(00~53)(星期一是一周的开始) |
以下是一些格式化输出的示例:
# 格式化输出当前日期时间
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
# 解析日期字符串
str_time = "2021-12-31 23:59:59"
dt = datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print(dt)
# 计算两个日期相差的天数
dt1 = datetime(2022, 1, 1)
dt2 = datetime(2021, 12, 31)
delta = dt1 - dt2
print(delta.days)
# 将时间戳转换为 datetime 对象
import time
timestamp = time.time()
dt = datetime.fromtimestamp(timestamp)
print(dt)
# 将 datetime 对象转换为时间戳
timestamp = dt.timestamp()
print(timestamp)
以上就是 datetime
模块的介绍和用法总结,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中时间datetime的处理与转换用法总结 - Python技术站