聊一聊Python日期时间库的使用

在Python中,处理日期和时间的常用库有内置的 datetime 和第三方库 pytz、dateutil。支持获取当前日期和时间,支持创建特定的日期和时间,使用pytz处理时区,倒计时计算,工作日判断,时间戳操作等。

一、 内置 datetime 模块

基本操作

fromdatetime import datetime, date, time, timedelta# 获取当前日期和时间now= datetime.now()print("当前时间:", now)  # 输出:2025-06-1314:30:00.123456# 获取当前日期today= date.today()print("当前日期:", today)  # 输出:2025-06-13# 创建自定义日期/时间custom_date= date(2025,7,15)custom_time= time(12,30,15)custom_datetime= datetime(2025,7,15,12,30,15)# 日期时间格式化formatted= now.strftime("%Y-%m-%d %H:%M:%S")print("格式化时间:", formatted)  # 输出:2025-06-1314:30:00# 字符串转日期date_str="2025-08-20 08:30:00"parsed_date= datetime.strptime(date_str,"%Y-%m-%d %H:%M:%S")print("解析后的时间:", parsed_date)# 日期运算(加减)tomorrow= now + timedelta(days=1)last_week= now - timedelta(weeks=1)print("明天:", tomorrow)print("上周:", last_week)# 计算日期差date1= datetime(2025,5,10)date2= datetime(2025,6,10)delta= date2 - date1print("相差天数:", delta.days)  # 输出:31

二、处理时区 (pytz)

importpytzfromdatetimeimportdatetime# 获取UTC时间utc_now = datetime.now(pytz.utc)print("UTC时间:", utc_now)# 转换时区# 定义时区对象tz_shanghai = pytz.timezone("Asia/Shanghai")tz_ny = pytz.timezone("America/New_York")# 本地时间 -> 带时区local_time = datetime.now()shanghai_time = tz_shanghai.localize(local_time)print("上海时间:", shanghai_time)# 时区转换ny_time = shanghai_time.astimezone(tz_ny)print("纽约时间:", ny_time)# 所有可用时区print("所有时区:", pytz.all_timezones[:5])# 输出前5个

三、灵活解析日期 (dateutil)

fromdateutil import parser# 自动解析各种日期字符串date_str1="June 13, 2025"date_str2="15/07/2025 14:30"date_str3="20250715"dt1= parser.parse(date_str1)dt2= parser.parse(date_str2)dt3= parser.parse(date_str3)print("解析结果1:", dt1)  #2025-06-1300:00:00print("解析结果2:", dt2)  #2025-07-1514:30:00print("解析结果3:", dt3)  #2025-07-1500:00:00

四、 时间戳操作

importtimefromdatetimeimportdatetime# 获取当前时间戳(秒级)timestamp = time.time()print("时间戳:", timestamp)# 输出: 176543210.123# 时间戳转datetimedt_from_timestamp = datetime.fromtimestamp(timestamp)print("时间戳转日期:", dt_from_timestamp)# datetime转时间戳timestamp_new = dt_from_timestamp.timestamp()print("日期转时间戳:", timestamp_new)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。