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

实用的Python日期时间处理函数

发布时间:2023-06-16 04:38:14

随着计算机应用的广泛普及,日期和时间处理成为我们经常用到的功能之一。在Python中,也提供了大量的函数和模块来处理日期和时间。下面是一些实用的Python日期时间处理函数和模块。

datetime 模块

datetime 模块是Python标准库中非常常用的日期和时间处理模块。它提供了多个类来处理日期和时间。其中比较常用的类为 datetime、date 和 time。

- datetime 类

datetime 类是处理日期和时间的主要类,它包含了日期和时间的信息,例如年、月、日、时、分、秒、微秒等。

1.创建 datetime 对象:

我们可以使用 datetime 类来创建一个 datetime 对象,下面是代码示例:

import datetime

# 获取当前日期和时间
now = datetime.datetime.now()
print(now)

输出结果为:

2021-08-04 16:19:36.046882

2.获取日期和时间中的各个部分:

使用 datetime 对象可以轻松地获取日期和时间中的各个部分:

import datetime

now = datetime.datetime.now()

# 获取年份
year = now.year
print(year)

# 获取月份
month = now.month
print(month)

# 获取日期
day = now.day
print(day)

# 获取小时
hour = now.hour
print(hour)

# 获取分钟
minute = now.minute
print(minute)

# 获取秒钟
second = now.second
print(second)

# 获取毫秒
microsecond = now.microsecond
print(microsecond)

输出结果为:

2021
8
4
16
19
36
46882

- date 类

date 类是一个只包含日期的类,它可以用来进行日期的计算和操作。

1.创建 date 对象:

使用 date 类可以创建一个只包含日期的对象,下面是代码示例:

import datetime

# 获取当前日期
today = datetime.date.today()
print(today)

输出结果为:

2021-08-04

2.获取日期中的各个部分:

使用 date 对象可以轻松获取日期中的各个部分:

import datetime

today = datetime.date.today()

# 获取年份
year = today.year
print(year)

# 获取月份
month = today.month
print(month)

# 获取日期
day = today.day
print(day)

输出结果为:

2021
8
4

- time 类

time 类是一个只包含时间的类,它可以用来进行时间的计算和操作。

1.创建 time 对象:

使用 time 类可以创建一个只包含时间的对象,下面是代码示例:

import datetime

# 获取当前时间
now = datetime.datetime.now()
current_time = now.time()
print(current_time)

输出结果为:

16:19:36.046882

2.获取时间中的各个部分:

我们可以使用 time 对象来获取时间中的各个部分:

import datetime

now = datetime.datetime.now()
current_time = now.time()

# 获取小时
hour = current_time.hour
print(hour)

# 获取分钟
minute = current_time.minute
print(minute)

# 获取秒钟
second = current_time.second
print(second)

# 获取毫秒
microsecond = current_time.microsecond
print(microsecond)

输出结果为:

16
19
36
46882

time 模块

time 模块是Python标准库中处理时间的一个模块,它提供了很多有用的函数。下面介绍一些常用的函数。

- time.time()

time() 函数返回当前的时间戳(1970年1月1日午夜以来的秒数)。它可以用来计算程序的运行时间。

import time

start_time = time.time()

# 运行程序
for i in range(1000000):
    pass

end_time = time.time()

run_time = end_time - start_time
print("程序运行时间:", run_time)

输出结果为:

程序运行时间: 0.026747465133666992

- time.sleep()

sleep() 函数可以让程序暂停指定秒数。它可以被用来模拟读取文件、网络请求等耗时操作。

import time

print("程序开始执行...")
time.sleep(5)
print("程序执行完毕!")

程序将暂停5秒钟后输出“程序执行完毕!”。

- time.strftime()

strftime() 函数可以将时间格式化为指定的字符串。

import time

current_time = time.localtime()
time_str = time.strftime("%Y-%m-%d %H:%M:%S", current_time)

print(time_str)

输出结果为:

2021-08-04 16:19:36

- time.strptime()

strptime() 函数可以将指定格式的字符串解析成时间对象。

import time

time_str = "2021-08-04 16:22:30"
format_str = "%Y-%m-%d %H:%M:%S"

time_obj = time.strptime(time_str, format_str)

print(time_obj)

输出结果为:

time.struct_time(tm_year=2021, tm_mon=8, tm_mday=4, tm_hour=16, tm_min=22, tm_sec=30, tm_wday=2, tm_yday=216, tm_isdst=-1)

datetime.timedelta 类

timedelta 类是 datetime 模块中的一个类,它表示两个日期或者时间之间的时差。下面介绍一些 timedelta 类的使用方法。

1.创建 timedelta 对象:

我们可以使用 timedelta 类来创建一个时间差对象。

import datetime

# 创建一个时间差对象
time_delta = datetime.timedelta(days=2, hours=3, minutes=15)

print(time_delta)

输出结果为:

2 days, 3:15:00

2.时间差的加减法:

我们可以使用 timedelta 类的加减法来对时间差进行计算。

import datetime

# 创建两个 datetime 对象
now = datetime.datetime.now()
future_time = now + datetime.timedelta(days=3, hours=2)

print("现在时间:", now)
print("未来时间:", future_time)

time_delta = future_time - now
print("时间差:", time_delta)

输出结果为:

现在时间: 2021-08-04 16:19:36.066882
未来时间: 2021-08-07 18:19:36.066882
时间差: 3 days, 2:00:00

3.时间差的比较:

我们可以使用 timedelta 类的比较运算符来比较两个时间差的大小。

import datetime

delta1 = datetime.timedelta(days=1)
delta2 = datetime.timedelta(hours=24)

if delta1 == delta2:
    print("相等")
elif delta1 > delta2:
    print("delta1 大于 delta2")
else:
    print("delta1 小于 delta2")

输出结果为:“相等”。

总结

Python 提供了很多内置函数和模块来处理日期和时间。要熟练掌握这些函数和模块,需要多加练习。掌握这些函数和模块后,我们就可以轻松地进行日期和时间计算、格式化、转换等操作。