Python100个库分享第29个—time模块(处理时间)

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

库的介绍

  • time模块是用于处理时间相关的任务的,比如获取当前时间、格式化时间、进行时间的算术运算等。

库的安装

内置模块无需安装

1、获取当前时间戳

import time  
timestamp = time.time()  # 返回当前时间的时间戳

2、获取当前时间的结构化表示

localtime = time.localtime()  # 返回本地时间的struct_time对象
print(localtime)

3、格式化时间

formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())  # 将时间格式化为字符串
print(formatted_time )

4、解析字符串为时间(结构化时间)

struct_time = time.strptime("2023-04-01 12:00:00", "%Y-%m-%d %H:%M:%S")  # 将字符串解析为struct_time对象
print(struct_time)

5、延迟执行

time.sleep(1)  # 暂停执行指定的1秒数

6、测量代码执行时间

start_time = time.time()  
for i in range(100):
    print(i)
# 执行代码  
end_time = time.time()  
elapsed_time = end_time - start_time  # 计算代码执行时间
print(elapsed_time)

7、总结

import time

time.time() # 当前时间的时间戳(从1970年1月1日00时00分00秒到现在的浮点秒数)

time.sleep(秒数) # 可以使用这个程序暂时停止指定时间(秒)

time.time() # 获取时间戳,也就是当前时间到1970年1月1号北京市时间8点整总秒数

time.strftime("%Y-%m-%d %H:%M:%S") # 获取当前格式化时间,注意大小写
  
time.localtime() # 获取更为详细的包括一年第几天,星期几的信息,元组形式可以下标索引取值,(tm_year=2020, tm_mon=2, tm_mday=13, tm_hour=15, tm_min=21, tm_sec=11, tm_wday=3, tm_yday=44, tm_isdst=0)
  
time.strptime("2018-01-01 20:08:09", "%Y-%m-%d %H:%M:%S") # 将格式化时间转为localtime
  
time.mktime(localtime) # 将localtime转化为时间戳
time.localtime(时间戳) # 将时间戳转化为localtime
time.strftime('%Y-%m-%d %H:%M:%S', localtime) # 将localtime转化为格式化时间
 
 # 如何计算代码运行速度---了解
import datetime
start_time = datetime.datetime.now()
# 运行代码写到这里
end_time = datetime.datetime.now()
sprint(end_time-start_time) # 就可以获取到代码运行时间


time.ctime(time.time()) # 将时间戳准换成字符串
time.perf_counter() # 获得程序运行的时间。


8、格式化时间—结构化时间—时间戳之间的转化

在这里插入图片描述

课外小知识

  • 1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX,新版于1971年发布。
  • 那时的计算机操作系统是32位,时间用32位有符号数表示,则可表示 68 年, 用32位无符号数表示,可表示136年。 他们认为 以 1970年 为时间 原点 足够可以了。 因此,C 的 time 函数 就这么 定了,后来的 java
  • 等也用它,微机也用它,工作站本来就是unix系统当然也用它。(今后若用64位机年限更没问题。)
  • 2位能表示的最大值是2147483647,另外1年365天的总秒数是31536000, 2147483647/3153600068.1
  • 也就是说32位能表示的最长时间是68年,而实际上到2038年01月19日03时14分07 秒,便会到达最大时间,过了这个时间点,所有32位操作系统时间便会变为 10000000000000000000000000000000
  • 也就是1901年12月13日20时45分52秒,这样便会出现时间回归的现象,很多软件便会运行异常了。
  • 到这里,我想问题的答案己经出来了:
  • 因为用32位来表示时间的最大间隔是68年,而最早出现的UN以操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNTIME的纪元时间(开始时间)
  • 至于时间回归的现象相信随着64为操作系统的产生逐渐得到解决,因为用64位操作
  • 系统可以表示到292,277,026,596年12月4日15时30分08秒,相信我们的N代子孙,哪怕地球毁灭那天都不用愁不够用了,因为这个时间己经是千亿年以后了。

更多关于时间处理的文章

文章链接
Python利用【chinese_calendar】生成当前日期的前两日(可自定义)自动跳过法定节假日(包括调休)https://blog.csdn.net/weixin_42636075/article/details/138659843
Python给定开始日期年月与结束日期年月—生成每月的第一天与最后一天https://blog.csdn.net/weixin_42636075/article/details/133753366
Python将日期的月和日转为小数https://blog.csdn.net/weixin_42636075/article/details/130293102
Python对日期范围自动补充https://blog.csdn.net/weixin_42636075/article/details/130285850
Python判断某一个日期是否在自定义日期范围内https://blog.csdn.net/weixin_42636075/article/details/130242719
Python每日一个知识点6----输出两个时间段内的所有日期https://blog.csdn.net/weixin_42636075/article/details/129348827
python判断日期是否是休息日,如果是,就往后加,一直加到非休息日https://blog.csdn.net/weixin_42636075/article/details/126843510
Python 关于日期相减 获得两个日期的天数差https://blog.csdn.net/weixin_42636075/article/details/126788469
Python获取前一天的日期,前一个月的第一天,前一个月的最后一天,当天日期、当月第一天https://blog.csdn.net/weixin_42636075/article/details/126070444

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是100Python小技巧: 1. 使用for循环可以遍历列表、字符串等可迭代对象。 2. 使用range()函数生成指定范围的数字序列。 3. 使用enumerate()函数可以同时获得元素索引和值。 4. 使用zip()函数可以同时遍历多个可迭代对象。 5. 使用列表推导式可以快速生成列表。 6. 使用集合可以进行高效的集合操作。 7. 使用字典可以进行键值对的映射。 8. 使用切片可以快速获取列表、字符串的子序列。 9. 使用函数可以封装可复用的代码块。 10. 使用类可以实现面向对象的编程。 11. 使用模块可以组织和管理代码。 12. 使用异常处理可以捕获和处理程序的错误。 13. 使用with语句可以自动管理资源的释放。 14. 使用装饰器可以增强函数的功能。 15. 使用生成器可以按需计算大量数据。 16. 使用协程可以实现异步编程。 17. 使用多线程可以并发执行任务。 18. 使用多进程可以充分利用多核处理器。 19. 使用文件操作可以读写文件。 20. 使用正则表达式可以进行复杂的文本匹配。 21. 使用time模块可以获取当前时间和进行时间操作。 22. 使用random模块可以生成随机数。 23. 使用math模块可以进行数学运算。 24. 使用json模块可以进行JSON数据的处理。 25. 使用pickle模块可以进行对象的序列化和反序列化。 26. 使用os模块可以进行文件和目录的操作。 27. 使用sys模块可以获取和修改Python解释器的运行时环境。 28. 使用re模块可以进行正则表达式匹配。 29. 使用argparse模块可以解析命令行参数。 30. 使用logging模块可以进行日志记录。 31. 使用unittest模块可以编写和执行单元测试。 32. 使用requests库可以发送HTTP请求。 33. 使用BeautifulSoup库可以解析HTML文档。 34. 使用numpy库可以进行数组和矩阵计算。 35. 使用pandas库可以进行数据处理和分析。 36. 使用matplotlib库可以进行数据可视化。 37. 使用scikit-learn库可以进行机器学习。 38. 使用tensorflow库可以进行深度学习。 39. 使用flask库可以构建Web应用。 40. 使用Django库可以构建全功能的Web应用。 41. 使用SQLite数据库可以进行轻量级的数据存储。 42. 使用MySQL数据库可以进行关系型数据存储。 43. 使用MongoDB数据库可以进行文档型数据存储。 44. 使用Redis数据库可以进行缓存和键值存储。 45. 使用Elasticsearch可以进行搜索和分析。 46. 使用OpenCV库可以进行图像处理和计算机视觉。 47. 使用pygame库可以进行游戏开发。 48. 使用tkinter库可以进行桌面应用程序开发。 49. 使用wxPython库可以进行跨平台的GUI开发。 50. 使用Flask-RESTful可以构建RESTful API。 51. 使用Celery可以进行异步任务的调度和执行。 52. 使用pytest可以进行更简洁和灵活的单元测试。 53. 使用Selenium可以进行Web自动化测试。 54. 使用Faker可以生成随机的测试数据。 55. 使用IPython可以进行交互式的开发和调试。 56. 使用Jupyter Notebook可以进行数据分析和可视化。 57. 使用Spyder可以进行科学计算和Python开发。 58. 使用cookiecutter可以快速构建项目模板。 59. 使用virtualenv可以创建和管理Python虚拟环境。 60. 使用pip可以安装和管理Python包。 61. 使用pyenv可以管理多个Python版本。 62. 使用conda可以创建和管理Python环境。 63. 使用autopep8可以自动格式化Python代码。 64. 使用black可以自动格式化Python代码。 65. 使用flake8可以检查Python代码是否符合PEP8规范。 66. 使用bandit可以检查Python代码中的安全漏洞。 67. 使用isort可以自动排序Python导入语句。 68. 使用mypy可以进行静态类型检查。 69. 使用pylint可以进行代码质量检查。 70. 使用pyinstaller可以将Python程序打包成可执行文件。 71. 使用cx_Freeze可以将Python程序打包成可执行文件。 72. 使用py2exe可以将Python程序打包成可执行文件。 73. 使用pyodbc可以连接和操作数据库。 74. 使用paramiko可以进行SSH远程操作。 75. 使用fabric可以进行任务的自动化部署。 76. 使用pytest-django可以简化Django的单元测试。 77. 使用django-rest-framework可以快速构建RESTful API。 78. 使用scrapy可以进行Web爬虫。 79. 使用sqlalchemy可以进行高级数据库操作。 80. 使用pymongo可以连接和操作MongoDB数据库。 81. 使用tqdm可以在循环中显示进度条。 82. 使用click可以构建命令行接口。 83. 使用cProfile可以进行性能分析。 84. 使用line_profiler可以逐行分析代码性能。 85. 使用memory_profiler可以分析内存使用情况。 86. 使用profilehooks可以进行分析函数调用性能。 87. 使用PyInstaller可以将Python程序打包成可执行文件。 88. 使用Openpyxl可以读写Excel文件。 89. 使用Pillow可以进行图像处理。 90. 使用pyautogui可以进行图像识别和自动化操作。 91. 使用pytesseract可以进行文字识别。 92. 使用pywin32可以操作Windows系统API。 93. 使用pyserial可以进行串口通信。 94. 使用opencv-python可以进行图像处理。 95. 使用catboost可以进行梯度提升决策树算法。 96. 使用fasttext可以进行文本分类和词向量训练。 97. 使用gensim可以进行文本相似度计算。 98. 使用jieba可以进行中文分词。 99. 使用lightgbm可以进行梯度提升算法。 100. 使用xgboost可以进行梯度提升算法。 这些小技巧涵盖了Python的各个方面,包括语法、标准库、第三方库和常见开发任务。通过学习和应用这些技巧,可以提高Python编程的效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一晌小贪欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值