当前位置: 首页 > news >正文

python中的时间模块--datetime模块、time模块

python中的时间模块

  • 一.datetime模块
  • 二.time模块

一.datetime模块

引入时间模块

from datetime import datetime

获取当前时间

print(datetime.today()) # 前的日期和时间
print(datetime.now()) # 当前的日期和时间
print(datetime.now().year) # 当前的年份
print(datetime.now().month) # 当前的月份
print(datetime.now().day) # 当前的日期
print(datetime.now().weekday()) # 当前是星期几,注意在Python中,星期一是0,星期日是6
print(datetime.now().hour) # 前的小时数

手动设置时间

dt = datetime(2023, 11, 20)
print(dt) # 打印2023-11-20 00:00:00
dt = datetime(2023, 11, 20, 13, 18, 15)
print(dt) # 2023-11-20 13:18:15

格式化时间

# 日期转化为字符串
s = datetime.now().strftime('%Y年%m月%d日 %H时%M分%S秒') # 将日期转化为字符串
print(s) # 2025年01月04日 15时11分33秒
dt = datetime.strptime('2023-6-20 8:20:15', '%Y-%m-%d %H:%M:%S') # 将字符串转化为日期格式
print(dt) # 2023-06-20 08:20:15

日期的计算

# 用户输入两个 %Y-%m-%d %H:%M:%S 日期,计算时间差
# 字符串不能直接相减,先将字符串转换为日期类型
d1 = datetime.strptime('2023-6-20 8:20:15', '%Y-%m-%d %H:%M:%S')
d2 = datetime.strptime('2024-3-5 9:30:15', '%Y-%m-%d %H:%M:%S')
print(d2 - d1)
# 当前日期加上100天后的日期
# timedelta 时间增量
from datetime import timedelta # 引入时间增量
d = datetime.now() + timedelta(days=100) # 计算当前时间加上一百天后的时间

datetime中也包含了date和time类

from datetime import date, time # 从datetime模块中引入date和time
date.today() # 当前的日期,格式为年-月-日
date.today().weekday() # 当前日期是星期几
# time不支持获取当前时间
# 手动设置时间
t = time(13, 20, 5) # 创建一个时间对象,表示13点20分5秒
t.hour # 时间对象t的小时数
d = date(2022, 10, 8) # 创建一个日期对象,表示2022年10月8日
# date和time不支持将字符串转化为日期,但是可以将日期转化为时间格式
s = d.strftime('%Y年%m月%d日') # 2022年10月08日
s = t.strftime('%H时%M分%S秒') # 13时20分05秒

二.time模块

time模块主要用于处理Unix时间戳,即从1970年1月1日00:00:00 UTC到当前时间的秒数。
获取当前不同形式的时间

import time # 导入时间模块
print(time.time())  # 打印当前时间的秒数,从 1970 年 1 月 1 日 00:00:00 到现在的秒数
print(time.localtime())  # 打印本地时间的时间元组,包含年、月、日、时、分、秒等信息
print(time.localtime().tm_mday)  # 从本地时间元组中获取日(即一个月中的第几天)
print(time.localtime().tm_year)  # 从本地时间元组中获取年
print(time.gmtime())  # 打印格林尼治时间(GMT)的时间元组,即 0 时区的时间
print(time.ctime())  # 打印当前时间的字符串表示形式

时间相加计算

m = time.time() + 24 * 60 * 60 # 加上一天后的秒数
print(time.ctime(m)) # 将日期转换为字符串并打印

手动设置具体时间

mk = time.mktime((2024, 1, 1, 13, 16, 18, 5, 18, 0)) # 将一个给定的时间元组(2024 年 1 月 1 日 13 时 16 分 18 秒)转换为秒数
print(mk)
print(time.localtime(mk)) # 将转换后的秒数转换回时间元组

格式化

s = time.strftime('%Y年%m月%d日 %H时%M分%S秒') # 将当前时间格式化为指定的字符串格式(年-月-日 时:分:秒)
s = time.strftime('%Y年%m月%d日 %H时%M分%S秒', time.localtime(mk)) # 将给定的秒数(mk)转换为时间元组,并格式化为指定的字符串格式
lt = time.strptime(s, '%Y年%m月%d日 %H时%M分%S秒') # 将字符串转换为时间元组

休眠

time.sleep(2) # sleep方法可以让程序休眠两秒
http://www.lryc.cn/news/515614.html

相关文章:

  • CV 处理全流程:从数据采集到模型部署的整个过程,体现全面性
  • OWASP ZAP之API 请求基础知识
  • 南京观海微电子----GH7009国宇测试盒使用
  • mysql及其兼容语法数据库对于注释的特殊要求
  • 数据去重与重复数据的高效处理策略
  • Spring Boot自动装配代码详解
  • 渗透测试-非寻常漏洞案例
  • 122. 买卖股票的最佳时机 II
  • Python爬虫入门指南:从零开始抓取数据
  • Android使用JAVA调用JNI原生C++方法
  • ros常用命令记录
  • UE5材质节点VertexNormalWs/PixelNormalWS
  • 友元和运算符重载
  • 【数据库事务锁的类型:读锁/写锁、悲观锁/乐观锁、表锁/页锁/行锁】
  • 【Motion Builder】配置c++插件开发环境
  • 多线程访问FFmpegFrameGrabber.start方法阻塞问题
  • MySQL使用记录
  • 【视觉SLAM:六、视觉里程计Ⅰ:特征点法】
  • Python 数据结构揭秘:栈与队列
  • 常见的框架漏洞
  • 在C++中实现一个能够捕获弹窗、检查内容并在满足条件时点击按钮的程序;使用python的方案
  • 《Vue3实战教程》26:Vue3Transition
  • 【架构设计(一)】常见的Java架构模式
  • 自定义有序Map
  • Jenkins(持续集成与自动化部署)
  • redis7基础篇2 redis的哨兵模式2
  • windows终端conda activate命令行不显示环境名
  • SpringBoot 2.6 集成es 7.17
  • 加固服务器有什么用?
  • Personal APP