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方法可以让程序休眠两秒

你可能感兴趣的:(python,开发语言)