python中的datetime函数的作用与使用方法

  • Post category:Python

datetime模块是Python中处理日期和时间的标准库之一,其中包含了多个类和函数用于获取、表示和操作日期和时间。下面是详细的介绍和使用方法攻略。

datetime模块中的常用类

在使用datetime模块之前,我们需要先引入相关的类。

import datetime
  1. datetime.date
  2. 用于表示日期,包含年、月、日等信息。
  3. 构造函数:date(year, month, day)

  4. datetime.time

  5. 用于表示时间,包含小时、分钟、秒等信息。
  6. 构造函数:time(hour=0, minute=0, second=0, microsecond=0)

  7. datetime.datetime

  8. 用于表示日期和时间。
  9. 构造函数:datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)

  10. datetime.timedelta

  11. 用于表示时间间隔。
  12. 构造函数:timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

datetime模块常用函数

  1. datetime.datetime.now()
  2. 获取当前日期时间。
  3. 返回类型:datetime.datetime
  4. 示例:
import datetime

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

输出结果:2021-08-08 20:00:00.000000

  1. datetime.datetime.strptime(date_string, format)
  2. 将一个字符串转为datetime对象。
  3. 参数:
    • date_string:字符串表示的日期时间。
    • format:字符串的日期时间格式。
  4. 返回类型:datetime.datetime
  5. 示例:
date_string = '2021-08-08 20:00:00'
date = datetime.datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date)

输出结果:2021-08-08 20:00:00

datetime类的常用方法

  1. date.weekday()
  2. 获取日期是星期几。星期一为0,星期天为6。
  3. 返回类型:int
  4. 示例:
date = datetime.date.today()
weekday = date.weekday()
print(weekday)

输出结果:6 (假设今天是星期天)

  1. timedelta的常用方法
  2. timedelta是datetime模块的一个类,用于表示时间间隔。

  3. timedelta.days

    • 获取时间间隔包含的天数。
    • 返回类型:int
  4. timedelta.seconds

    • 获取时间间隔包含的秒数。
    • 返回类型:int
  5. timedelta.total_seconds()

    • 获取时间间隔包含的总秒数。
    • 返回类型:float
  6. 示例如下:

from datetime import datetime, timedelta

days = timedelta(days=1)
seconds = timedelta(seconds=60)
total_seconds = timedelta(minutes=1).total_seconds()

print(days.days)
print(seconds.seconds)
print(total_seconds)

输出结果:

1
60
60.0

datetime模块的常用格式化字符串

在使用datetime模块时,常常需要将datetime对象转化为字符串或将字符串转化为datetime对象。为了能够顺利地进行转化,需要使用正确的格式化字符串。下面是一些常用的格式化字符串。

格式化字符串 含义
%Y 年份,比如:2021
%m 月份,比如:08
%d 日,比如:08
%H 小时,24小时制,比如:20
%I 小时,12小时制,比如:08
%M 分钟,比如:00
%S 秒,比如:00
%f 微秒,比如:000000

示例

下面是两个代码实例。第一个实例用于获取当前日期和时间的字符串表示,

import datetime

now = datetime.datetime.now()
format_str = '%Y-%m-%d %H:%M:%S'
str_now = datetime.datetime.strftime(now, format_str)
print(str_now)

输出结果:2021-08-08 20:00:00

第二个示例用于计算日期时间的加减。

from datetime import datetime, timedelta

date_string = '2021-08-08 20:00:00'
date = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
add_days = timedelta(days=1)
add_seconds = timedelta(seconds=60)
new_date = date + add_days - add_seconds

new_date_str = datetime.strftime(new_date, '%Y-%m-%d %H:%M:%S')
print(new_date_str)

输出结果:2021-08-09 19:59:00

以上就是datetime模块的使用方法的详细攻略。