avatar

刘刚刚的blog

采菊东篱下,悠然见南山🦥

  • 首页
  • 大模型应用
  • 常用软件/工具
  • Halo
  • 关于
Home python中的time模块
文章

python中的time模块

Posted 2022-06-4 Updated 2024-09- 28
By Administrator
48~62 min read

平时经常使用,却一直没有仔细了解过。根据网上的资料整理出来常用的一些time模块的方法


python中的time模块

在python中经常使用time模块生成时间戳,时间戳是代表距离1970年1月1日00:00:00来的秒数,不计算润秒。

介绍

  1. 基本方法

    方法

    作用

    time()

    当前时间戳,返回值为浮点类型

    sleep()

    休眠

  2. 不同格式的时间转换的方法

    原时间类型

    目标时间类型

    方法

    备注

    时间戳

    结构化UTC时间

    gmtime()

    时间戳

    结构化本地时间

    localtime()

    结构化UTC时间

    时间戳

    calendar.timegm()

    结构化本地时间

    时间戳

    mktime()

    此方法转换时,与时区无关

    结构化时间

    字符串

    asctime()

    字符串固定格式为:Sun Apr 24 10:56:40 2022

    结构化时间

    字符串

    strftime()

    字符串

    结构化时间

    strptime

    时间戳

    字符串

    time.ctime()

    字符串固定格式为:Sun Apr 24 10:56:40 2022

  3. 结构化时间介绍

    结构化时间可以通过索引和属性名访问值,相关索引和时间如下:

    索引

    属性

    值

    0

    tm_year

    (例如,1993)

    1

    tm_mon

    range [1, 12]

    2

    tm_mday

    range [1, 31]

    3

    tm_hour

    range [0, 23]

    4

    tm_min

    range [0, 59]

    5

    tm_sec

    range [0, 61]; 见 strftime() 介绍中的 (2)

    6

    tm_wday

    range [0, 6] ,周一为 0

    7

    tm_yday

    range [1, 366]

    8

    tm_isdst

    是否为夏令时,取值范围0, 1 或 -1;-1代表未知

    N/A

    tm_zone

    时区名称的缩写

    N/A

    tm_gmtoff

    以秒为单位的UTC以东偏离

示例

我们首先定义一个test函数,来方便数据的打印。

import time

def test(a):
    print(type(a),a)

获取当前的时间戳

a = time.time()
test(a)
<class 'float'> 1654347598.0079849

延迟一定时间后继续运行

time.sleep(1)

时间戳转化为带时区的结构化数据

b = time.localtime(a)
test(b)
b_1 = time.gmtime(a)
test(b_1)
<class 'time.struct_time'> time.struct_time(tm_year=2022, tm_mon=6, tm_mday=4, tm_hour=20, tm_min=59, tm_sec=58, tm_wday=5, tm_yday=155, tm_isdst=0)
<class 'time.struct_time'> time.struct_time(tm_year=2022, tm_mon=6, tm_mday=4, tm_hour=12, tm_min=59, tm_sec=58, tm_wday=5, tm_yday=155, tm_isdst=0)

将结构化时间转为时间戳,注意:该转换与时区无关

c = time.mktime(b)
test(c)
c_1 = time.mktime(b_1)
test(c_1)
<class 'float'> 1654347598.0
<class 'float'> 1654318798.0

将时间戳转为字符串

d = time.ctime(a)
test(d)
<class 'str'> Sat Jun  4 20:59:58 2022

将结构化时间转为字符串形式

d_1 = time.asctime(b)
test(d_1)
<class 'str'> Sat Jun  4 20:59:58 2022

将结构化时间转为字符串形式

e = time.strftime('%Y-%m-%d %H:%M:%S', b)
test(e)
<class 'str'> 2022-06-04 20:59:58

将字符串转为结构化的数据

f = time.strptime(e, '%Y-%m-%d %H:%M:%S')
test(f)
<class 'time.struct_time'> time.struct_time(tm_year=2022, tm_mon=6, tm_mday=4, tm_hour=20, tm_min=59, tm_sec=58, tm_wday=5, tm_yday=155, tm_isdst=-1)

获取程序运行的时间

g = time.perf_counter()
test(g)
<class 'float'> 3.252550844

python
python
License:  CC BY 4.0
Share

Further Reading

Apr 21, 2025

Typing

类型注释让python 有了更好的编辑器提示功能。 基础使用 对函数参数和返回值,进行类型注释 def surface_area_of_cube(edge_length: float) -> str:    return f"The surface area of the cube is {6 *

Feb 25, 2025

python多进程多线程下的计数及日志打印

注意点: 需要保证在多进程内的进程锁是同一个 需要保证在单进程中的多线程内线程锁是同一个 # logger.py import multiprocessing import threading ​ ​ class Logger_test:    def __init__(self, process

Dec 25, 2022

python-迭代器、生成器、协程

迭代器 Python中当容器对象提供了对迭代的支持时,可以通过container.__iter__()来返回一个迭代器对象。 迭代器需要支持以下两个方法,这两个方法共同构成了迭代器协议: iterator.__iter__() 该方法返回迭代器本身,这个方法是配合for和in使用所必须的。 iter

OLDER

odoo13教程-wizards的使用

NEWER

HeadFirst 设计模式--观察者模式(Observer Pattern)

Recently Updated

  • 文本切分-语义分割(Semantic Chunking)
  • dify 并发配置优化
  • Typing
  • 大模型返回中json_schema与json_mode的区别
  • Async

Trending Tags

Halo 运维 postgresql 设计模式 linux就该这么学 nas rag odoo python 文本切分

Contents

©2025 刘刚刚的blog. Some rights reserved.

Using the Halo theme Chirpy