欢迎访问宙启技术站
智能推送

时间处理-Python日期时间处理函数大全

发布时间:2023-06-17 22:06:52

在Python中,时间处理是非常重要的一部分,日期时间处理函数的运用可以使我们更好地处理时间型数据,优化程序的运行效率。在此,我将介绍几个比较常用的Python日期时间处理函数,让我们一起来学习!

### datetime模块

datetime模块是用来处理时间的Python标准模块之一,包含了日期(date)、时间(time)、日期时间(datetime)等类型。

###### 1. datetime.datetime.now()

获取当前时间,返回的是datetime.datetime类型。

import datetime

now = datetime.datetime.now()
print(now)

###### 2. datetime.datetime.timestamp()

将datetime.datetime类型转换为时间戳,返回的是float类型。

import datetime

now = datetime.datetime.now()
timestamp = now.timestamp()
print(timestamp)

###### 3. datetime.datetime.fromtimestamp()

将时间戳转换为datetime.datetime类型。

import datetime

timestamp = 1603117468.599635
dt = datetime.datetime.fromtimestamp(timestamp)
print(dt)

###### 4. datetime.timedelta()

计算两个时间的差值,返回的是datetime.timedelta类型。

参数可以有days、seconds、microseconds、milliseconds、minutes、hours、weeks,例如:

import datetime

t1 = datetime.datetime(2020, 10, 19, 10, 0, 0)
t2 = datetime.datetime(2020, 10, 20, 11, 0, 0)

delta = t2 - t1
print(delta)
print(delta.days)
print(delta.seconds)

### time模块

time模块是Python中用来表示时间的模块,可以进行时间的获取、格式化等一系列操作。

###### 1. time.time()

获取当前时间的时间戳,返回的是float类型。

import time

timestamp = time.time()
print(timestamp)

###### 2. time.localtime()

将时间戳转换为本地时间,返回的是struct_time类型。

import time

timestamp = 1603117468.599635
local_time = time.localtime(timestamp)
print(local_time)

###### 3. time.strftime()

将时间元组转换为指定的格式字符串。

import time

local_time = (2020, 10, 19, 10, 0, 0, 0, 0, 0)
format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(format_time)

### pandas库

pandas库是Python中用来进行数据分析和操作的常用库之一,里面包含了丰富的时间序列数据类型和处理函数。

###### 1. pd.to_datetime()

将字符串转换为pandas中的datetime类型。

import pandas as pd

str_time = "2020-10-19 10:00:00"
dt = pd.to_datetime(str_time)
print(dt)

###### 2. pd.Timestamp()

创建一个pandas中的Timestamp类型。

import pandas as pd

str_time = "2020-10-19 10:00:00"
t = pd.Timestamp(str_time)
print(t)

###### 3. pd.date_range()

生成指定时间范围内的日期时间序列。

参数freq可以控制生成的日期时间间隔,如freq="D"代表每天生成一个日期,freq="H"代表每小时生成一个时间戳等等。

import pandas as pd

dt_range = pd.date_range(start="2020-10-10", end="2020-10-20", freq="D")
print(dt_range)