python日期函数大全

  • Post category:Python

Python日期函数大全详解

Python提供了丰富的日期和时间处理函数,可以方便地对日期和时间进行加减、格式化、比较等操作。本篇文章将详细介绍Python日期函数的使用方法,包括以下内容:

  • 时间戳和时间元组
  • 日期格式化
  • 时间的加减
  • 时间比较

时间戳和时间元组

在Python中,时间戳是指从1970年1月1日开始到现在经过的秒数。可以使用time模块中的time()函数获取当前的时间戳:

import time

print(time.time())  # 输出当前时间戳

输出结果如下:

1602056521.0262845

可以使用gmtime()函数将时间戳转换为时间元组,时间元组包含了年、月、日、时、分、秒等时间信息。gmtime()函数将会返回一个UTC时间元组,其结构为(年,月,日,小时,分钟,秒,星期,一年中的第几日,夏令时)

import time

timestamp = time.time()  # 获取当前时间戳
struct_time = time.gmtime(timestamp)  # 将时间戳转换为时间元组

print(struct_time.tm_year)  # 输出UTC年份
print(struct_time.tm_hour)  # 输出UTC小时
print(struct_time.tm_mday)  # 输出UTC日期

输出结果如下:

2020
3
7

日期格式化

在Python中,可以使用strftime()函数格式化日期字符串,具体的格式控制符可以参考Python手册,下面举例几种比较常用的格式化方式:

import time

struct_time = time.localtime()  # 获取当前时间

# 将时间元组转换为格式化字符串
date_str = time.strftime('%Y-%m-%d %H:%M:%S', struct_time)
print(date_str)

# 使用中文格式化
date_str_cn = time.strftime('%Y年%m月%d日 %H:%M:%S', struct_time)
print(date_str_cn)

输出结果分别如下:

2020-10-07 16:14:01
2020年10月07日 16:14:01

时间的加减

在Python中,可以使用timedelta函数对时间进行加减操作。timedelta是时间的差,也就是时间间隔,可以通过给定的参数(天、小时、分钟、秒等)来创建timedelta对象,例如:

from datetime import datetime, timedelta

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

# 计算1小时后的时间
after_one_hour = now + timedelta(hours=1)
print(after_one_hour)

# 计算2天后的时间
after_two_days = now + timedelta(days=2)
print(after_two_days)

输出结果如下:

2020-10-07 17:14:01.222135
2020-10-09 16:14:01.222135

时间比较

在Python中,可以使用datetime模块中的datetime函数来表示时间。不同的时间可以进行比较,例如:

from datetime import datetime

# 创建两个时间
now = datetime.now()
another_time = datetime(2020, 11, 11, 11, 11, 11, 111111)

# 比较时间
print(now > another_time)
print(now < another_time)
print(now == another_time)

输出结果如下:

False
True
False

而对于时间字符串的比较,则需要先将其转换为时间对象后再进行比较,例如:

from datetime import datetime

# 创建两个时间
str_time1 = '2020-11-11 11:11:11'
str_time2 = '2020-11-11 12:11:11'

# 将时间字符串转换为时间对象
time1 = datetime.strptime(str_time1, '%Y-%m-%d %H:%M:%S')
time2 = datetime.strptime(str_time2, '%Y-%m-%d %H:%M:%S')

# 比较时间
print(time1 > time2)
print(time1 < time2)
print(time1 == time2)

输出结果如下:

False
True
False

以上就是Python日期函数的详细介绍,可以根据需求选择不同的函数来完成日期和时间的相关操作。