Python基于time模块表示时间常用方法

Python基于time模块表示时间常用方法

在Python中,time模块提供了一系列用于处理时间和日期的函数。无论是在日常开发中记录程序的运行时间,还是在数据分析中对时间进行计算和转换,time模块都是一个非常有用的工具。本文将介绍一些常用的时间表示和操作方法。

1. 获取当前时间

通过time模块的time()函数可以获取当前的时间戳,即从1970年1月1日午夜开始经过的秒数。

import time

current_time = time.time()

print(current_time)

该代码将输出一个浮点数,表示当前时间距离1970年1月1日午夜以来的秒数。

除了获取时间戳,time模块还提供了一种更可读的方式来表示当前时间,即使用asctime()函数。

import time

current_time = time.asctime()

print(current_time)

该代码将输出一个字符串,表示当前的日期和时间,格式如下:

Sun Sep 12 20:38:00 2021

2. 时间戳和时间转换

在实际的应用中,我们常常需要将时间戳转换为可读的日期和时间,或者将日期和时间转换为时间戳进行计算。

2.1 时间戳转换为日期和时间

使用time模块的ctime()函数可以将时间戳转换为可读的日期和时间。

import time

timestamp = 1631461080

date_time = time.ctime(timestamp)

print(date_time)

该代码将输出一个字符串,表示给定时间戳的日期和时间,格式与asctime()函数相同。

2.2 日期和时间转换为时间戳

使用time模块的mktime()函数可以将日期和时间转换为时间戳。

import time

date_time = 'Sun Sep 12 20:38:00 2021'

timestamp = time.mktime(time.strptime(date_time))

print(timestamp)

该代码将输出一个浮点数,表示给定日期和时间的时间戳。

3. 时间延迟

time模块还提供了一种控制程序执行速度的方法,即使用sleep()函数进行时间延迟。

import time

print('开始计时')

time.sleep(5)

print('结束计时')

该代码将在开始计时后等待5秒钟,然后输出结束计时。

注意:sleep()函数的参数可以是一个整数或浮点数,表示等待的秒数。在本例中,我们将程序暂停了5秒。

4. 格式化日期和时间

time模块的strftime()函数可以将日期和时间按照要求的格式进行格式化。

import time

current_time = time.strftime('%Y-%m-%d %H:%M:%S')

print(current_time)

该代码将输出一个字符串,表示当前的日期和时间,格式为YYYY-MM-DD HH:MM:SS。

strftime()函数还可以根据需要添加其它的格式选项,例如:

import time

current_time = time.strftime('%Y/%m/%d %H:%M:%S', time.localtime())

print(current_time)

该代码将输出一个字符串,表示当前的日期和时间,格式为YYYY/MM/DD HH:MM:SS。

5. 计算程序执行时间

在日常开发中,我们常常需要计算程序的执行时间,以评估程序的性能。

import time

start_time = time.time()

# 你的代码

end_time = time.time()

execution_time = end_time - start_time

print(f'程序执行时间:{execution_time}秒')

该代码将输出一个浮点数,表示程序的执行时间。

注意:还有一种更简便的方式来计算程序的执行时间,即使用timeit模块。该模块可以自动计时,并返回程序的执行时间。

总结

本文介绍了在Python中使用time模块表示时间的常用方法。通过获取当前时间、时间戳和时间的转换、时间延迟、日期和时间的格式化、程序执行时间的计算等功能,我们可以更方便地处理时间和日期相关的任务。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签