首页 > 编程语言 >Python之Time模块

Python之Time模块

时间:2023-03-19 18:13:16浏览次数:44  
标签:函数 Python Time 元组 tm 时间 模块 time 字符串

1. python的time模块介绍

time模块是Python内置的处理日期和时间的模块,它提供了一些函数来处理时间和日期,包括获取当前时间、时间格式化、计算时间差等等。

  • 1.1. 时间获取和时间戳操作

time模块提供了time()函数来获取当前时间,也提供了几个对时间戳进行操作的函数,比如mktime()、gmtime()等。

  • 1.2. 时间格式化

time模块通过strftime()函数可以根据指定的格式将时间格式化为字符串,常用的格式化字符有%d、%m、%Y、%H、%M、%S等。

  • 1.3. 时间转换

time模块提供了strptime()函数,可以将时间字符串按照指定的格式转换为时间元组;还有asctime()、ctime()等函数,将时间元组转换为可读的时间格式。

  • 1.4 睡眠

time模块提供了sleep()函数来实现线程的暂停,可以用于实现一些定时操作

  • 1.5 时间操作

time模块提供了一些函数来进行时间操作,如clock()函数可以返回指定操作的CPU时间;还有一些计时器的简单实现,如perf_counter()、timeit()等

2. python 关于时间获取和时间戳的操作

2.1 time.time() 获取当前时间的时间戳

time() 函数用于获取当前时间的时间戳,即从 "1970 年 1 月 1 日 00:00:00" UTC 到当前时间的秒数。

import time

timestamp = time.time()
print(f"当前时间戳是:{timestamp}")
输出:
当前时间戳是:1679160892.8581994

2.2 time.localtime() 将当前时间转换为本地时间(返回时间元组)

localtime() 函数用于将当前时间转换为本地时间。它返回一个包含当前日期和时间的 struct_time 对象。

import time

local_time = time.localtime()
print(f"当前本地时间是:{local_time}")
输出:
当前本地时间是:time.struct_time(tm_year=2023, tm_mon=3, tm_mday=19, tm_hour=1, tm_min=35, tm_sec=13, tm_wday=6, tm_yday=78, tm_isdst=0)

2.3 time.gmtime()将当前时间转换为 UTC 时间(返回时间元组)

gmtime() 函数与 localtime() 函数的作用类似,但将当前时间转换为 UTC 时间。它同样返回一个包含当前日期和时间的 struct_time 对象。

import time

utc_time = time.gmtime()
print(f"当前UTC时间是:{utc_time}")
输出:
当前UTC时间是:time.struct_time(tm_year=2023, tm_mon=3, tm_mday=18, tm_hour=17, tm_min=35, tm_sec=42, tm_wday=5, tm_yday=77, tm_isdst=0)

2.4 time.mktime()将一个时间元组转换为时间戳

mktime() 函数用于将一个时间元组转换为时间戳。这个时间元组必须是由 localtime()gmtime()strptime() 函数返回的。

import time

local_time = time.localtime()
timestamp = time.mktime(local_time)
print(f"本地时间:{local_time},时间戳:{timestamp}")
输出:
本地时间:time.struct_time(tm_year=2023, tm_mon=3, tm_mday=19, tm_hour=1, tm_min=36, tm_sec=2, tm_wday=6, tm_yday=78, tm_isdst=0),时间戳:1679160962.0

2.5 time.asctime(local_time)将时间元组转换为可读性的时间字符串

asctime() 函数用于将时间元组转换为可读性的时间字符串,格式为 "Mon Sep 30 07:06:05 2019"。参数是一个表示时间的元组,如由 localtime() 或者 gmtime() 函数返回的对象

import time

local_time = time.localtime()
time_string = time.asctime(local_time)
print(f"当前时间字符串是:{time_string}")
输出:
当前时间字符串是:Sun Mar 19 01:32:05 2023

2.6 time.ctime(timestamp)将时间戳转换为可读性的时间字符串

ctime() 函数用于将时间戳转换为可读性的时间字符串,格式与 asctime() 相同。如果不传参数,则默认输出当前时间字符串。

import time

timestamp = time.time()
time_string = time.ctime(timestamp)
print(f"当前时间字符串是:{time_string}")
输出:
当前时间字符串是:Sun Mar 19 01:34:17 2023

3. python 关于时间格式化的操作

时间格式化是指将日期或时间按照指定的格式进行输出或显示。Python中时间模块提供了多个用于时间格式化的函数,下面介绍一些常用的函数及其使用方法

3.1 time.strftime 将时间对象转换为指定格式的字符串

strftime() 函数用于将时间对象转换为指定格式的字符串。其中,日期和时间格式化字符串的占位符和含义如下:

格式符 含义
%Y
%m
%d
%H
%M
%S
%a 星期的简称
%A 星期的全称
%b 月份的简称
%B 月份的全称
%c 日期和时间
%x 日期(不含时间)
%X 时间(不含日期)
import time

local_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(f"当前时间格式化字符串是:{formatted_time}")
输出:
当前时间格式化字符串是:2023-03-19 01:42:56

3.2 time.strptime 将符合格式的字符串转换为时间对象

strptime() 函数用于将符合格式的字符串转换为时间对象。它的第一个参数是需要转换的字符串,第二个参数是指定的日期和时间格式化字符串。

import time

time_string = "2022-01-04 15:30:00"
time_obj = time.strptime(time_string, "%Y-%m-%d %H:%M:%S")
print(f"转换后的时间对象为:{time_obj}")
输出:
转换后的时间对象为:time.struct_time(tm_year=2022, tm_mon=1, tm_mday=4, tm_hour=15, tm_min=30, tm_sec=0, tm_wday=1, tm_yday=4, tm_isdst=-1)

4 python 关于时间转换的操作

Python的time模块还提供了一些函数来进行时间转换,如将时间字符串按照指定的格式转换为时间元组,或将时间元组转换为可读的时间格式等。下面介绍一些比较常用的函数及其使用方法

4.1 time.strptime将时间字符串按照指定的格式转换为时间元组

strptime() 函数用于将时间字符串按照指定的格式转换为时间元组。它的第一个参数是需要转换的时间字符串,第二个参数是指定的日期和时间格式化字符串。

import time

time_str = "2022-01-05 14:30:00"
time_struct = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
print(f"转换后的时间元组是:{time_struct}")
输出:
转换后的时间元组是:time.struct_time(tm_year=2022, tm_mon=1, tm_mday=5, tm_hour=14, tm_min=30, tm_sec=0, tm_wday=2, tm_yday=5, tm_isdst=-1)

4.2 time.mktime接收时间元组,并将其转换为时间戳

mktime() 函数接收一个时间元组,并将其转换为时间戳。

import time

time_struct = time.strptime("2022-01-05 14:30:00", "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(time_struct)
print(f"时间戳是:{timestamp}")
输出:
时间戳是:1641364200.0

4.3 time.asctime接收时间元组,并返回一个可读的时间字符串

asctime() 函数接收一个时间元组,并返回一个可读的时间字符串,格式为"Www Mmm dd hh:mm:ss yyyy"。

import time

time_struct = time.strptime("2022-01-05 14:30:00", "%Y-%m-%d %H:%M:%S")
time_string = time.asctime(time_struct)
print(f"转换后的时间字符串是:{time_string}")
输出:
转换后的时间字符串是:Wed Jan  5 14:30:00 2022

4.4 time.ctime 接收一个时间戳,并返回对应的可读的时间字符串

ctime() 函数接收一个时间戳,并返回对应的可读的时间字符串。

import time

timestamp = time.time()
time_string = time.ctime(timestamp)
print(f"当前时间字符串是:{time_string}")
输出:
当前时间字符串是:Sun Mar 19 01:53:54 2023

4.5 time.strftime根据指定的格式将时间元组格式化为字符串

strftime() 函数可以根据指定的格式将时间元组格式化为字符串

import time

time_struct = time.strptime("2022-01-05 14:30:00", "%Y-%m-%d %H:%M:%S")
time_string = time.strftime("现在是 %Y 年 %m 月 %d 日 %H:%M:%S", time_struct)
print(f"转换后的时间字符串是:{time_string}")

5. python 关于睡眠的操作

Python中的time模块还提供了一些函数可以实现程序的等待或睡眠,以延迟指定的时间间隔来控制程序的执行速度或顺序。下面介绍一些比较常用的函数及其使用方法

5.1 time.sleep用于让程序暂停指定的时间

sleep() 函数用于让程序暂停指定的时间,单位为秒。

import time

print("开始执行程序")
time.sleep(3)
print("3秒后,程序继续执行")

5.2 time.perf_counter()

perf_counter() 函数可以返回当前系统的CPU时间,可以被用作基准时间。我们可以在某个程序处理完成之后重新计算一次CPU时间,来获得程序处理的实际时间。

import time

start_time = time.perf_counter()

# 执行某个操作,比如循环1亿次
for i in range(100000000):
    pass

end_time = time.perf_counter()

print(f"处理1亿次操作,用时{end_time - start_time}秒")
输出:
处理1亿次操作,用时5.3497827秒

5.3 time.process_time()

process_time() 函数返回当前进程执行 CPU 的时间总量,单位为秒。与 perf_counter() 不同的是,process_time() 不包括睡眠时间。

import time

start_time = time.process_time()

# 执行某个操作,比如循环1亿次
for i in range(100000000):
    pass

end_time = time.process_time()

print(f"处理1亿次操作,用时{end_time - start_time}秒")
输出:
处理1亿次操作,用时4.96875秒

标签:函数,Python,Time,元组,tm,时间,模块,time,字符串
From: https://www.cnblogs.com/zouzhibin/p/17233808.html

相关文章

  • 孤狼老师-接口测试自动化(Python版完整版)-测试数据管理
                  先创建一个xml文件  解析xml文件: ......
  • Python之Pygame新建窗口
    #1、首先导入pygame模块、sys模块importpygame,sys#2、使用函数创建一个窗口,设置窗口的大小、背景、标题等参数#主程序defmain():#导入pygame的所有可用模块,程序检......
  • 进行一手Python的学
    3.19今天学完了Python的数据类型,先摆一会儿......
  • RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:784, u
    ​ 发现报错:RuntimeError:NCCLerrorin:/pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:784,unhandledsystemerror​编辑想在linux上跑跑mmclassification......
  • Python中通过反射来调用方法
    Isthereawaytopassinvokefunctionbymethodnameinstring,whichmeanscallthemethodbyreflectionYes,youcanusereflectioninPythontoinvokeame......
  • Python如何将Markdown转成HTML,Python-Markdown2类库的使用
    Python-Markdown2是Python语言中一款轻量级的Markdown转换器,它可以将Markdown文本转换成HTML文档。在本教程中,我们将学习如何使用Python-Markdown2库。安装Python-Markdown2......
  • go语言学习-标准库fmt和time
    fmtfmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分packagemainimport("fmt""os")//fmtfuncmain(){//Fprint......
  • 111python之不定长参数
    Python中的不定长传参指的是函数参数的个数不是固定的,这使得函数可以接受任意数量的参数。有两种方法来实现不定长传参:使用*args和**kwargs参数。*args:用于传递任意数......
  • re,hashlib模块
    re模块importre.findall("正则",data)贪婪匹配:.*?hashlib模块importhashlibmd5=hashlib.md5()#选择加密方式md5.update(data)#data加密方式printmd5.hexd......
  • python语句之列表推导式
    python语句之列表推导式列表推导式是python语言特有的一种语法结构,也可以看成是python中独特的数据处理方法它在python中用转换和过滤数据语法格式:[表达......