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

使用Python的datetime函数来格式化日期时间

发布时间:2023-06-22 22:14:26

Python中的datetime模块提供了大量功能来处理日期和时间,包括日期计算,日期格式化和日期解析等。在Python中,日期时间格式的处理涉及到,字符串转日期时间,日期时间转字符串以及日期时间间的计算等等。datetime函数提供了灵活的工具可以满足多种日期时间格式的需要。

从Python 2.3开始,datetime模块作为Python中处理日期时间最重要的工具之一,可方便地获取当前日期时间、日期时间计算、日期时间格式化输出、日期时间比较等常用操作。要使用这个模块,首先需要使用import关键字将其引入。

import datetime

在datetime模块中最常用的类有4个,分别是date、time、datetime、timedelta。这4个类可以组合使用,构建出各式各样的时间序列,如只有日期的,只有时间的,还有日期时间结合的等等,这里以date和time为例进行说明。

date类提供了year、month、day三个方法用于获取年月日,定义日期并不需要时间的概念,与当天不同的日期构建方法有很多。

import datetime

#获取当前日期

today = datetime.date.today()

print("Today's date:",today)

#获取指定日期

date = datetime.date(2019, 10, 12)

print("Selected date:",date)

#从字符串转化日期

str_date = "2020-10-01"

year, month, day = map(int, str_date.split("-"))

date_str = datetime.date(year,month,day)

print("Converted date:",date_str)

time类则提供hour、minute、second、microsecond等方法用于获取时间的小时、分钟、秒、毫秒等属性。

import datetime

#获取当前时间

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

print("Current time:",time)

#获取指定时间

time = datetime.time(16, 30, 45)

print("Selected time:",time)

#从字符串转化时间

str_time = "12:20:00"

hour, minute, second = map(int, str_time.split(":"))

time_str = datetime.time(hour,minute,second)

print("Converted time:",time_str)

datetime类则将上述两个类结合起来,并提供了更多的方法,如strftime()方法,该方法可以将日期时间格式化为想要的样式。其格式化串和time模块用的一样,具体的转换标识符可以参考strftime()的文档。

import datetime

#获取当前日期和时间

now = datetime.datetime.now()

print("Current date and time:",now)

#获取指定日期和时间

date_time = datetime.datetime(2022, 12, 22, 13, 50, 30)

print("Selected date and time:",date_time)

#从字符串转化日期时间

str_date_time = "2021-08-17 12:30:00"

date_time_str = datetime.datetime.strptime(str_date_time, '%Y-%m-%d %H:%M:%S')

print("Converted date and time:",date_time_str)

timedelta类则提供了日期时间差的方法,比如计算两个日期的差值,计算两个时间的差值等等。

import datetime

#计算日期差值

d1 = datetime.date(2021,8,1)

d2 = datetime.date(2021,8,16)

print(d2-d1)

#计算时间差值

t1 = datetime.datetime.now().time()

t2 = datetime.time(8,15,30)

print(t1<t2)

以上即是datetime模块的主要用法。在日常开发中,时间日期处理的需求很多,这时可以结合datetime模块的各个类来进行灵活运用,如生成日期时间序列、日期计算、时间差计算、日期时间格式化等操作。同时,Python也提供了dateutil、pytz等第三方工具可以方便地做更加复杂的时间日期处理。