¥time模块¥

time模块

【一】表示时间的三种方式

  • 时间戳表示时间

    • 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数

  • 元组(struct_time)(年,月,日,时,分,秒,毫秒,微秒)

  • 格式化的时间字符串

    • xx年-xx月-xx日 时:分:秒

【二】时间转换

【1】导入时间模块

import time

【2】时间戳

(1)生成时间戳

  • 语句:time.time()

#例子
变量名 = time_time()
print(变量名)#输出结果是这样的:1713512356.3627634
#去掉多余的小数就直接转int类型

(2)时间戳转换为时间元组

  • 国际时间:time.gmtime(time.time())

变量名 = time.gmtime(time.time())
print(变量名)#输出结果是这样的:time.struct_time(tm_year=2024, tm_mon=4, tm_mday=19, tm_hour=7, tm_min=42, tm_sec=16, tm_wday=4, tm_yday=110, tm_isdst=0)
  • 本地时间time.localtime(time.time())

变量名 = time.localtime(time.time())
print(变量名)#输出结果是这样的:time.struct_time(tm_year=2024, tm_mon=4, tm_mday=19, tm_hour=15, tm_min=45, tm_sec=53, tm_wday=4, tm_yday=110, tm_isdst=0)

(3)转换为时间字符串

  • 转换时间的格式在strftime里面执行的

#正常时间
变量名 = time.strftime('%Y-%m-%d %H:%M:%S')
print(变量名)#2024-04-19 15:51:18
#正常时间
变量名 = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(变量名)#2024-04-19 15:51:18
#国际时间
变量名 = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
print(变量名)#2024-04-19 07:53:10

(4)转换为时间元组

  • 从时间元组中获取指定的属性

    • 取出年月日时分秒

变量名 = time.localtime()
print(变量名.tm_year)#年
print(变量名.tm_mon)#月
print(变量名.tm_mday)  # 当前日
print(变量名.tm_wday)  # 当前周
print(变量名.tm_yday) #本年过了多少天
  • Python中时间日期格式化符号

符号

含义

%y

两位数的年份表示

(00-99)

%Y

四位数的年份表示

(000-9999)

%m

月份

(01-12)

%d

月内中的一天

(0-31)

%H

24小时制小时数

(0-23)

%I

12小时制小时数

(01-12)

%M

分钟数

(00=59)

%S

(00-59)

%a

本地简化星期名称

%A

本地完整星期名称

%b

本地简化的月份名称

%B

本地完整的月份名称

%c

本地相应的日期表示和时间表示

%j

年内的一天

(001-366)

%p

本地A.M.或P.M.的等价符

%U

一年中的星期数

(00-53)星期天为星期的开始

%w

星期

(0-6),星期天为星期的开始

%W

一年中的星期数

(00-53)星期一为星期的开始

%x

本地相应的日期表示

%X

本地相应的时间表示

%Z

当前时区的名称

%%

%号本身

【3】结构化时间

(1)时间戳转换

  • time.mktime()(时间戳-->元组时间戳)

import time
​
time_str = time.time()#生成时间戳:1713513953.0934687
time_str = time.localtime(time_str)#本地时间
time_str = time.mktime(time_str)#转换
print(time_str)#输出结果是这样的:1713513731.0

(2)结构化输出时间

  • time.strftime() : 格式化输出当前时间

  • 结构化时间参数若不传,则显示当前时间

import time
​
# 格式化当前时间
time_str = time.strftime("%Y-%m-%d %X")
print(time_str)  # 2024-04-19 16:08:22
  • 格式化当前元组

import time

print(time.localtime(time.time()))

# 格式化当前时间元组
time_local = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(time_local)  # 2024-04-19

(3)将字符串的时间格式转换为时间元组

  • time.strptime()(时间字符串-->时间元组)

# 格式化当前时间
time_str = time.strftime("%Y-%m-%d %X")
print(time_str)  # 2024-04-19 16:08:22

time_str = time.strptime("2023-11-24", "%Y-%m-%d")#括号里可以改任意时间
print(time_str)  #time.struct_time(tm_year=2023, tm_mon=11, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=328, tm_isdst=-1)

time_local = time.strptime("11/24/2023", "%m/%d/%Y")#括号里可以改任意时间
print(time_local)  #time.struct_time(tm_year=2023, tm_mon=11, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=328, tm_isdst=-1)

time_local = time.strptime("11:24:2023", "%m:%d:%Y")#括号里可以改任意时间
print(time_local)  #time.struct_time(tm_year=2023, tm_mon=11, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=328, tm_isdst=-1)

(4)将时间元组转换为国际时间格斗

  • time.asctime(结构化时间--> %a %b %d %H:%M:%S %Y串)

import time

time_str = time.asctime(time.localtime(time.time()))
print(time_str)#Fri Apr 19 16:17:31 2024

time_local = time.asctime()
print(time_local)#Fri Apr 19 16:17:31 2024

time_str = time.ctime(time.time())
print(time_str)#Fri Apr 19 16:17:31 2024

time_local = time.ctime()
print(time_local)#Fri Apr 19 16:17:31 2024
  • time.ctime()(时间戳)

    • 时间戳 --> %a %b %d %H:%M:%S %Y串

    • 如果不传参数,直接返回当前时间的格式化串

import time

time_str = time.ctime(time.time())
print(time_str)# Fri Apr 19 16:25:41 2024

time_local = time.ctime()
print(time_local)# Fri Apr 19 16:25:41 2024

【4】总结

  • time.time() 生成时间戳

    • 时间戳是计算机能够识别的时间;

  • time.sleep() 随机睡眠多长时间

  • time.strftime() 时间字符串

    • 时间字符串是人能够看懂的时间

  • time.strftime() 格式化输出当前时间

  • time.strptime() 将时间字符串格式转换为时间元组

    • 元组则是用来操作时间的

  • time.localtime() 拿到当前时间的时间元组格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值