时间函数:使用Python时间函数的技巧
Python里有许多强大的时间函数和模块,这些函数和模块都可以帮助开发者更好、更有效地处理时间。下面是介绍一些使用Python时间函数的技巧:
1. 当前时间
获取当前时间可以使用time模块中的time()函数。该函数返回自1970年1月1日UTC到当前时间的秒数。
例如:
import time now = time.time() print(now) # 1588937646.7172031
如果我们想将这个数转换成易于阅读的日期格式,我们可以使用datetime模块中的datetime.fromtimestamp()函数。
例如:
import datetime now = datetime.datetime.fromtimestamp(time.time()) print(now) # 2020-05-08 14:07:26.717203
这个函数返回一个datetime对象,它包含了当前的日期和时间信息。
2. 时间戳转日期
通过时间戳(即从1970年1月1日UTC起的秒数)获得相应的日期和时间,可以使用datetime模块中的datetime.fromtimestamp()函数。
例如:
import datetime ts = 1588937646.7172031 date = datetime.datetime.fromtimestamp(ts) print(date) # 2020-05-08 14:07:26.717203
也可以使用time模块中的ctime()函数,将时间戳转换为易于阅读的字符串。
例如:
import time ts = 1588937646.7172031 date = time.ctime(ts) print(date) # Fri May 8 14:07:26 2020
3. 日期转时间戳
如果想将一个日期转换为时间戳,可以使用datetime模块的datetime.timestamp()方法。
例如:
import datetime date = datetime.datetime(2020,5,8,14,7,26) # 创建一个datetime对象 ts = date.timestamp() # 将datetime对象转换为时间戳 print(ts) # 1588938446.0
4. 日期计算
可以使用datetime模块中的timedelta类进行日期计算。timedelta类表示两个日期之间的时间差,可以用来增减日期。
例如:
import datetime now = datetime.datetime.now() five_days_ago = now - datetime.timedelta(days=5) # 5天前的日期 seven_days_later = now + datetime.timedelta(days=7) # 7天后的日期
除了days参数外,timedelta还有许多其他的参数,如seconds、microseconds、milliseconds、minutes、hours、weeks,您可以根据需要进行更精细的日期计算。
5. 获取当前年月日
使用datetime模块可以很容易地获取当前年月日。
例如:
import datetime now = datetime.datetime.now() year = now.year # 当前年份 month = now.month # 当前月份 day = now.day # 当前日期
6. 判断闰年
可以使用calendar模块中的isleap()函数来判断是否为闰年。
例如:
import calendar year = 2020 is_leap_year = calendar.isleap(year) print(is_leap_year) # True
7. 时间格式化
可以使用strftime()函数将日期格式化为字符串。该函数接受一个格式化字符串作为参数,根据这个字符串将日期格式化为所需的格式。
例如:
import datetime
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date) # 2020-05-08 14:35:24
在格式化字符串中可以使用一些格式化代码,如:
- %Y 表示年份(4位数字);
- %m 表示月份(有前导零);
- %d 表示日期(有前导零);
- %H 表示小时(24小时制,有前导零);
- %M 表示分钟(有前导零);
- %S 表示秒钟(有前导零)。
还可以使用fmt格式进行字符串时间的转化。只需在指定时间格式化的地方使用%%,然后在字符串后面用一个元素:datetime.datetime.strptime(dt, fmt),以指定预期的时间格式。
例如:
dt = '08-May-2020' fmt = '%d-%b-%Y' date = datetime.datetime.strptime(dt, fmt) print(date) # 2020-05-08 00:00:00
总结:
Python拥有丰富的时间函数和模块,使我们能够在开发过程中更有效地处理时间。希望上述几个技巧能帮助您更好地处理时间、优化代码、提高效率。
