下面就来详细讲解Python日期函数大全的完整攻略。
Python日期模块简介
Python 日期模块主要是用来进行日期和时间的计算与操作的。Python 标准库中提供了多个与日期、时间有关的模块,在这里我们主要介绍 datetime
、time
和 calendar
模块。
datetime
模块:datetime
对象提供了处理日期和时间的函数,包括日期的计算和比较等操作。time
模块:time
模块提供了与时间相关的函数,包括时间戳、时间格式等的转换。calendar
模块:calendar
模块提供了与日历相关的函数,可以判断某一年是否为闰年,获取某一月份的天数等。
接下来,我们会对这三个模块进行详细的介绍。
datetime 模块
获取日期和时间
datetime.datetime.now()
: 获取当前的日期和时间。
实例代码:
import datetime
now = datetime.datetime.now()
print("当前的日期和时间是:")
print(now)
输出结果:
当前的日期和时间是:
2021-05-13 10:20:30.098765
创建日期时间对象
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)
datetime.date(year, month, day)
实例代码:
import datetime
d = datetime.datetime(2021, 5, 13, 10, 30, 0)
print("创建的日期时间对象是:{}".format(d))
date = datetime.date(2021, 5, 13)
print("创建的日期对象是:{}".format(date))
输出结果:
创建的日期时间对象是:2021-05-13 10:30:00
创建的日期对象是:2021-05-13
日期时间的加减
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
: 可以定义对日期的加减操作。datetime.datetime + datetime.timedelta
: 对日期时间进行加减操作。
实例代码:
import datetime
now = datetime.datetime.now() # 获取当前时间
print("当前时间:{}".format(now))
delta = datetime.timedelta(days=1)
tomorrow = now + delta # 明天的时间
print("明天的时间:{}".format(tomorrow))
输出结果:
当前时间:2021-05-13 10:20:30.098765
明天的时间:2021-05-14 10:20:30.098765
日期时间的比较和格式化输出
datetime.datetime.strftime(format)
: 将日期时间对象格式化为指定的字符串。datetime.datetime.strptime(date_string, format)
: 将字符串解析未日期时间对象。datetime.datetime.date()
: 获取日期对象。
实例代码:
import datetime
d1 = datetime.datetime(2021, 5, 13, 10, 30, 0)
d2 = datetime.datetime(2021, 5, 14, 10, 30, 0)
print("{} 是否小于 {} : {}".format(d1, d2, d1 < d2))
date_str = "2021-05-13"
date = datetime.datetime.strptime(date_str, "%Y-%m-%d").date()
print("字符串 {} 转换成日期对象:{}".format(date_str, date))
print("日期时间格式化:{}".format(d1.strftime("%Y-%m-%d %H:%M:%S")))
输出结果:
2021-05-13 10:30:00 是否小于 2021-05-14 10:30:00 : True
字符串 2021-05-13 转换成日期对象:2021-05-13
日期时间格式化:2021-05-13 10:30:00
time 模块
时间戳
time.time()
: 获取当前时间戳。
实例代码:
import time
timestamp = time.time()
print("当前时间戳为:{}".format(timestamp))
输出结果:
当前时间戳为:1620886990.305136
时间的格式化输出
time.strftime(format, t=None)
: 将时间元组格式化为指定的字符串。time.strptime(date_string, format)
: 将字符串解析未时间元组。
实例代码:
import time
current_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", current_time)
print("格式化后的时间为:{}".format(formatted_time))
date_str = "2021-05-13"
date = time.strptime(date_str, "%Y-%m-%d")
print("字符串 {} 转换成时间元组:{}".format(date_str, date))
输出结果:
格式化后的时间为:2021-05-13 11:16:38
字符串 2021-05-13 转换成时间元组:time.struct_time(tm_year=2021, tm_mon=5, tm_mday=13, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=133, tm_isdst=-1)
calendar 模块
获取日期时间元组
calendar.timegm(t:time.struct_time)
: 获取指定时间 tuple 的 UTC 时间戳。
实例代码:
import calendar
import time
date = (2021, 5, 13, 10, 30, 0)
timestamp = calendar.timegm(date)
print("时间元组 {} 转换成的 UTC 时间戳为:{}".format(date, timestamp))
输出结果:
时间元组 (2021, 5, 13, 10, 30, 0) 转换成的 UTC 时间戳为:1620886200
获取某一月份的日历
calendar.month(year, month, w=0, l=0)
: 获取指定年和月的日历。
实例代码:
import calendar
year = 2021
month = 5
cal = calendar.month(year, month)
print("{} 年 {} 月的日历:\n{}".format(year, month, cal))
输出结果:
2021 年 5 月的日历:
May 2021
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
总结
Python 日期模块主要包括 datetime
、time
和 calendar
模块。其中,datetime
模块提供了处理日期时间的函数,包括获取当前日期时间、创建日期时间对象、日期时间的加减等操作;time
模块提供了获取时间戳和格式化时间的函数;calendar
模块提供了获取某一月份的日历和获取日期时间元组等函数。在实际应用中,我们可以根据需求选择不同的日期时间操作函数来完成对时间的操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python日期函数大全 - Python技术站