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

5款常用的日期和时间处理函数

发布时间:2023-06-21 23:22:51

在日常编程和数据处理过程中,日期和时间处理是非常重要的环节。常见的日期和时间处理操作包括日期格式转换、日期加减、日期比较等。下面介绍五款常用的日期和时间处理函数,详细说明其使用方法。

1. datetime.datetime.strptime()

datetime.datetime.strptime()函数可以将字符串类型的日期转换为datetime.datetime类型,即将日期的字符串表示转换为Python中的日期对象。其语法如下:

datetime.datetime.strptime(date_string, format)

其中,date_string表示需要转换的日期字符串,format表示日期字符串的格式,即字符串中各个字符的含义以及顺序。例如,如果需要将字符串“2022-07-21”转换为datetime.datetime类型,可以使用以下代码:

import datetime

date_string = "2022-07-21"

date_obj = datetime.datetime.strptime(date_string, "%Y-%m-%d")

print(date_obj)

输出结果为:

2022-07-21 00:00:00

在上述代码中,%Y-%m-%d表示日期字符串的格式是年-月-日,即每个字母表示一个日期元素。其中,%Y表示年份,%m表示月份,%d表示日期。其他日期元素的表示请查看官方文档。

2. datetime.datetime.now()

datetime.datetime.now()函数可以获取当前时间,即获取当前的datetime.datetime类型的日期对象。其语法如下:

datetime.datetime.now()

例如,如果需要获取当前日期的datetime.datetime类型对象,可以使用以下代码:

import datetime

date_obj = datetime.datetime.now()

print(date_obj)

输出结果为:

2022-08-08 12:00:00.000000

3. datetime.timedelta()

datetime.timedelta()函数用于计算时间差或对日期进行加减。需要注意的是,timedelta()函数返回的仍然是datetime.timedelta类型的日期对象。其语法如下:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

其中,days、seconds、microseconds、milliseconds、minutes、hours、weeks表示日期元素,可以对日期进行加减。例如,如果需要获得明天的日期,可以使用以下代码:

import datetime

today = datetime.date.today()

tomorrow = today + datetime.timedelta(days=1)

print(tomorrow)

输出结果为:

2022-08-09

在上述代码中,datetime.date.today()函数用于获取当前日期(不含时间),datetime.timedelta(days=1)表示需要加1天。

4. datetime.datetime.strptime().timestamp()

datetime.datetime.strptime().timestamp()函数用于将datetime.datetime类型的日期对象转换为时间戳。时间戳是指从1970年1月1日00:00:00 UTC到当前时间的秒数。其语法如下:

datetime.datetime.strptime(date_string, format).timestamp()

例如,如果需要获取当前日期的时间戳,可以使用以下代码:

import datetime

now = datetime.datetime.now()

timestamp = datetime.datetime.strptime(str(now), "%Y-%m-%d %H:%M:%S.%f").timestamp()

print(timestamp)

输出结果为:

1657365897.266808

在上述代码中,我们首先使用datetime.datetime.now()函数获取当前日期,将其转换为字符串格式,然后使用datetime.datetime.strptime()函数将其转换为datetime.datetime类型的日期对象,并利用.timestamp()函数获取时间戳。

5. datetime.datetime.strftime()

datetime.datetime.strftime()函数用于将datetime.datetime类型的日期对象转换为字符串表示。与datetime.datetime.strptime()函数相对应,strftime()函数也需要指定日期字符串的格式。其语法如下:

datetime.datetime.strftime(date_obj, format)

其中,date_obj表示datetime.datetime类型的日期对象,format表示日期字符串的格式。例如,如果需要将当前日期转换为字符串形式,可以使用以下代码:

import datetime

now = datetime.datetime.now()

date_str = now.strftime("%Y-%m-%d %H:%M:%S.%f")

print(date_str)

输出结果为:

2022-08-08 12:28:58.921395

在上述代码中,%Y-%m-%d %H:%M:%S.%f表示日期字符串的格式,与datetime.datetime.strptime()函数中格式相同。

总结:

以上介绍了五款常用的日期和时间处理函数,包括datetime.datetime.strptime()、datetime.datetime.now()、datetime.timedelta()、datetime.datetime.strptime().timestamp()、datetime.datetime.strftime()。这些函数可以满足日期处理的各种需求,具有较高的实用价值。