admin管理员组

文章数量:1595878

时间点Timestamp

Timestamp是从Python标准库的datetime类继承过来的,表示时间轴上的一个时刻。

import pandas as pd

import numpy as np

 

now=pd.Timestamp.now()

print(now)

结果:

2021-04-02 17:23:08.273922

 

调用.tz_localize()转换为指定时区的当前时间

now_shanghai=now.tz_localize("Asia/Shanghai")

print(now_shanghai)

结果:

2021-04-02 17:26:09.715663+08:00

创建任意时间点:

print(pd.Timestamp('2021-03-16 21:01:34'))

结果:

print(pd.Timestamp('2021-03-16 21:01:34'))

 

时间段Period

Period表示一个标准的时间段。例如某年、某月、某日、某小时等。时间的长短由freq决定。

调用pd.Period.now()获得包含当前时间的时间段:

now_day=pd.Period.now(freq="D")

print(now_day)

now_hour=pd.Period.now(freq="H")

print(now_hour)

结果:

2021-04-02

2021-04-02 17:00

获取Period对象的终点和起点

print(now_day.start_time)

print(now_day.end_time)

结果:

2021-04-02 00:00:00

2021-04-02 23:59:59.999999999

 

时间间隔Timedetla

通过调用pd.Timedelta()之间创建时间间隔Timedelta对象:

td=pd.Timedelta(weeks=2,days=10,hours=12,minutes=2.4,seconds=10.3)

print(td)

print(td.days)

print(td.seconds)

print(td.microseconds)

print(td.nanoseconds)

 

结果:

24 days 12:02:34.300000

24

43354

300000

0

三者之间的转换

调用Timestamp对象的to_period()方法将时间点转换为包含该时间点的时间段:

print(now.to_period("H"))

结果:

2021-04-02 17:00

将两个时间点相减得到时间间隔Timedelta对象:

nation_day=pd.Timestamp("2018-10-1")

td1=nation_day-pd.Timestamp.now()

print(td1)

结果:

-915 days +06:23:07.147971

 

时间点和时间间隔之间可以进行加减运算:

print(nation_day+pd.Timedelta("20 days 10:20:30"))

结果:

2018-10-21 10:20:30

 

 

 

本文标签: timestamppandasTimedeltaPeriod