Python datetime模块日期处理与绘图

Python datetime日期处理与绘图

1. date、time、datetime简要介绍

date、time、datetime是python中几个时间处理模块,其中date主要描述日期这一级别(年月日),time描述天内的时间(时分秒),datetime是前两者的组合包含了年月日时分秒,并且它们之间也可以相互转换。
日期的几种表示方法:

(1)格式化字符串

这种方式非常易读,通常表示为年-月-日 时:分:秒,例如:2024-08-06 10:29:06

(2) 时间戳

一般以秒为单位,表示从某个时间起点的连续计数,是个长的整数类型,比如1722911347
相关的时间转换网站:https://tool.lu/timestamp/,可以比较方便的实现时间戳和格式化字符串的转换,但要注意时区。
在这里插入图片描述
python中日期转换
使用datetime包可以实现简单的日期转换

import datetime
# date表示年月日
d=datetime.date(2024,8,3)
# time表示时分秒
t=datetime.time(10,12,38)
# date和time可以组合成datetime类型
dt = datetime.datetime.combine(d, t)
#从格式化字符串中恢复成datetime
dtFromStr=datetime.datetime.strptime("2024-8-3 10:12:38","%Y-%m-%d %H:%M:%S")
# 从时间戳中恢复成datetime
dtFromTimeStamp=datetime.datetime.fromtimestamp(1722651158,datetime.timezone.utc)
# datetime转换为字符串、时间戳、date、time
dt2Str=dt.strftime("%Y-%m-%d %H:%M:%S")
dt2Timestamp=dt.timestamp()
dt2date=dt.date()
dt2time=dt.time()
# 打印数据各种类型
print("date:",d,"type:",type(d))
print("time:",t,"type:",type(t))
print("datetime:",dt,"type:",type(dt))
print("datetime To Str:",dt2Str)
print("datetime To Timestamp",dt.timestamp())

输出结果如下:
在这里插入图片描述

2. 日期绘图,X轴显示格式化字符串

输入的数据:格式化字符串,卫星数。如果是时间戳类型,也可以使用上面的方法进行转换。
在这里插入图片描述
使用matplotlib.pyplot和matplotlib.dates 进行时间绘图配置

import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter
import pandas as pd
import datetime

def pltXDateTime(inp):
    df=pd.read_csv(inp)
    # csv首先读入的是字符串,这里要先转换成datetime
    df['timestamp'].astype(datetime)
    plt.figure()
    ax = plt.gca()
    formatter = DateFormatter('%Y-%m-%d %H:%M:%S')  # %Y-%m-%d %H:%M:%S
    ax.xaxis.set_major_formatter(formatter)  # 设置时间显示格式,也可以只显	示%H:%M:%S
    # 绘图只要X轴的数据类型是datetime即可
    plt.plot(df['timestamp'], df['ns'])
    plt.show()


结果如下,同时图片也可以放大,相应的日期也会变化。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值