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

Python的time模块和datetime模块在处理时间的函数应用

发布时间:2023-06-07 04:48:01

Python的time模块和datetime模块是非常常用的时间处理模块,它们可以用来获取当前时间、计算时间差、转换时间格式等多种操作。本文将介绍这两个模块在处理时间的函数应用。

一、time模块

1.获取当前时间

time模块的time()函数可以获取当前的时间戳,时间戳是从1970年1月1日00:00:00以来的秒数。示例代码如下:

import time

print("当前时间戳为:", time.time())

输出结果:

当前时间戳为: 1637083650.7827349

2.格式化时间

time模块的strftime()函数可以将时间戳格式化成指定的字符串格式。常用的格式化字符串包括"%Y-%m-%d %H:%M:%S"、"%Y/%m/%d %H:%M:%S"等,其中%Y表示年份,%m表示月份,%d表示日期,%H表示小时,%M表示分钟,%S表示秒。示例代码如下:

import time

timestamp = time.time()
localtime = time.localtime(timestamp)
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
print("当前时间为:", formatted_time)

输出结果:

当前时间为: 2021-11-16 15:14:10

3.延时操作

time模块的sleep()函数可以使程序暂停一定时间。参数单位为秒。示例代码如下:

import time

print("开始倒计时:")
for i in range(10, 0, -1):
    print(i)
    time.sleep(1)
print("倒计时结束!")

输出结果:

开始倒计时:
10
9
8
7
6
5
4
3
2
1
倒计时结束!

4.时间戳转换

time模块的gmtime()函数可以将时间戳转换成结构化时间,即一个包含年、月、日、时、分、秒等信息的元组(time.struct_time),这个时间是格林威治标准时间,与时区无关。示例代码如下:

import time

timestamp = 1637083650.7827349
utc_time = time.gmtime(timestamp)
print("格林威治标准时间为:", utc_time)

输出结果:

格林威治标准时间为: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=7, tm_min=14, tm_sec=10, tm_wday=1, tm_yday=320, tm_isdst=0)

二、datetime模块

datetime模块是基于time模块的高级模块,提供了更方便的时间处理函数和对象。datetime模块中最常用的类是datetime类,它包含了年、月、日、时、分、秒等信息。

1.获取当前时间

datetime模块的datetime类可以获取当前的日期和时间。示例代码如下:

import datetime

now = datetime.datetime.now()
print("当前时间为:", now)

输出结果:

当前时间为: 2021-11-16 15:14:10.816976

2.时间计算

datetime模块的timedelta类可以进行时间差计算。示例代码如下:

import datetime

now = datetime.datetime.now()
tomorrow = now + datetime.timedelta(days=1)
print("明天的日期为:", tomorrow.strftime("%Y-%m-%d"))

输出结果:

明天的日期为: 2021-11-17

3.格式化时间

datetime模块的strftime()函数同样可以将日期时间对象格式化成指定的字符串格式。示例代码如下:

import datetime

now = datetime.datetime.now()
formatted_time = now.strftime("%Y/%m/%d %H:%M:%S")
print("当前时间为:", formatted_time)

输出结果:

当前时间为: 2021/11/16 15:14:10

4.时间戳转换

datetime模块的fromtimestamp()函数可以将时间戳转换成日期时间对象。示例代码如下:

import datetime

timestamp = 1637083650.7827349
dt = datetime.datetime.fromtimestamp(timestamp)
print("日期时间为:", dt)

输出结果:

日期时间为: 2021-11-16 15:14:10.782735

总结

time模块和datetime模块都可以用来处理时间,在使用时需要根据需求选择合适的模块和函数。time模块更加底层,适合处理时间戳,而datetime模块更加高级,提供了更方便的日期时间处理函数和对象。熟练掌握这两个模块可以提高程序的时间处理效率。