mdates.date2num() 将 Python 的 datetime 对象转换为 Matplotlib 内部使用的数值格式(浮点数),表示从 0001-01-01 开始的天数(包含时间的小数部分)。
# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import matplotlib.dates as mdates
from datetime import datetime, timedelta
# 创建 datetime 对象
date1 = datetime(2023, 10, 1) # 2023-10-01 00:00:00
date2 = datetime(2023, 10, 1, 12) # 2023-10-01 12:00:00
# 转换为 Matplotlib 数值
num1 = mdates.date2num(date1)
num2 = mdates.date2num(date2)
print(f"日期1的数值: {num1}")
print(f"日期2的数值: {num2}")
# 反向转换:数值转回 datetime
reversed_date1 = mdates.num2date(num1)
reversed_date2 = mdates.num2date(num2)
print(f"\n数值1转回日期: {reversed_date1}")
print(f"数值2转回日期: {reversed_date2}")
输出内容:
日期1的数值: 738771.0
日期2的数值: 738771.5
数值1转回日期: 2023-10-01 00:00:00
数值2转回日期: 2023-10-01 12:00:00
整数部分:表示天数(例如 738771 对应 2023-10-01)。
小数部分:表示时间(例如 0.5 对应中午 12:00)。
完毕!!感谢您的收看
----------★★跳转到历史博文集合★★----------