time与datetime模块

本文介绍了Python中time和datetime模块的基本用法,包括时间戳的概念、时间格式化字符串的使用、时间加减运算及不同时间格式之间的转换。通过实例展示了如何利用这些模块进行高效的时间处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:time

在这里插入图片描述

时间分为三种格式:

1、时间戳:从1970年到现在经过的秒数 作用:用于时间间隔的计算

import time

print(time.time())  # 1607425475.5931325

2、按照某种格式显示的时间:2020-03-30 11:11:11 作用:用于展示时间

import time

print(time.strftime('%Y-%m-%d %H:%M:%S %p'))  # 2020-12-08 19:04:35 PM
print(time.strftime('%Y-%m-%d %X'))  # 2020-12-08 19:04:35

3、结构化的时间 作用:用于单独获取时间的某一部分

import time

res=time.localtime()  # 中国时间,东8区时间
print(res)  # time.struct_time(tm_year=2020, tm_mon=12, tm_mday=8, tm_hour=20, tm_min=43, tm_sec=7, tm_wday=1, tm_yday=343, tm_isdst=0)
print(res.tm_year)  # 2020

了解:

import time

res=time.gmtime() # 世界标准时间
print(res)  # time.struct_time(tm_year=2020, tm_mon=12, tm_mday=8, tm_hour=12, tm_min=43, tm_sec=7, tm_wday=1, tm_yday=343, tm_isdst=0)

格式化字符串的时间格式

在这里插入图片描述

import time

print(time.strftime('%a'))  # Tue # 周几缩写
print(time.strftime('%A'))  # Tuesday # 周几
print(time.strftime('%b'))  # Dec # 月份缩写
print(time.strftime('%B'))  # December # 月份
print(time.strftime('%c'))  # Tue Dec  8 19:30:55 2020 # 周 月 日 时间 年
print(time.strftime('%d'))  # 08 # 日
print(time.strftime('%H'))  # 19 # 时---24小时时钟
print(time.strftime('%I'))  # 07 # 时---12小时时钟
print(time.strftime('%j'))  # 343 # 一年的第几天
print(time.strftime('%m'))  # 12 # 月份
print(time.strftime('%M'))  # 39 # 分钟
print(time.strftime('%p'))  # PM # 上午、下午
print(time.strftime('%S'))  # 45 # 秒
print(time.strftime('%U'))  # 49 # 一年的周数(星期日是一周的第一天)
print(time.strftime('%w'))  # 2 # 以小数形式表示的工作日[0(星期日),6]
print(time.strftime('%W'))  # 49 # 一年的周数(星期一是一周的第一天)
print(time.strftime('%x'))  # 12/08/20 # 月/日/年
print(time.strftime('%X'))  # 20:01:05 # 时:分:秒
print(time.strftime('%y'))  # 20 # 世纪
print(time.strftime('%Y'))  # 2020 # 年
print(time.strftime('%z'))  # +0800 # 当地时区名称
print(time.strftime('%Z'))  # 中国标准时间 # 当地时区名称
print(time.strftime('%%'))  # % # 本身

二:datetime

在这里插入图片描述

时间加减

import datetime
import time

print(datetime.datetime.now())  # 返回 2016-08-19 12:47:03.941925
print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19
print(datetime.datetime.now() )
print(datetime.datetime.now() + datetime.timedelta(3))  # 当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3))  # 当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3))  # 当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30))  # 当前时间+30分



c_time  = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2))  # 时间替换

时间格式的转换

在这里插入图片描述

# 结构化的时间===》时间戳
import time
s_time=time.localtime()
print(s_time)  # time.struct_time(tm_year=2020, tm_mon=12, tm_mday=8, tm_hour=20, tm_min=31, tm_sec=21, tm_wday=1, tm_yday=343, tm_isdst=0)
print(time.mktime(s_time))  # 1607430681.0

# 时间戳===》结构化的时间
tp_time=time.time()
print(tp_time)  # 1607431090.0502841
print(time.localtime(tp_time))  # time.struct_time(tm_year=2020, tm_mon=12, tm_mday=8, tm_hour=20, tm_min=38, tm_sec=10, tm_wday=1, tm_yday=343, tm_isdst=0)

# 结构化的时间===》格式化字符串形式的时间
print(time.strftime('%Y-%m-%d %H:%M:%S'))  # 2020-12-08 20:50:53 # 默认后面加了localtime
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))  # 2020-12-08 20:50:53

# 格式化字符串形式的时间===》结构化的时间
print(time.strptime('2020-12-08 20:50:53', '%Y-%m-%d %H:%M:%S'))  #time.struct_time(tm_year=2020, tm_mon=12, tm_mday=8, tm_hour=20, tm_min=50, tm_sec=53, tm_wday=1, tm_yday=343, tm_isdst=-1)
# 需求:'2020-12-08 20:50:53'+7

import time

# format string--->struct_time--->timestamp
struct_time = time.strptime('2020-12-08 20:50:53', '%Y-%m-%d %H:%M:%S')
timestamp = time.mktime(struct_time) + 7 * 86400
print(timestamp)

# format string<---struct_time<---timestamp
res = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(res)

了解

在这里插入图片描述

time.sleep()

import time

time.sleep(3)  # 程序沉睡3秒运行
print('1111')

time.asctime()

在这里插入图片描述

import time

print(time.asctime())  # Tue Dec  8 21:31:55 2020
print(time.strftime('%c'))  # Tue Dec  8 21:31:55 2020
# 两种方法都可以做到

.now() .utcnow()

import datetime

print(datetime.datetime.now())  # 2020-12-08 22:32:09.230375  # 中国标准时间
print(datetime.datetime.utcnow())  # 2020-12-08 14:32:09.230375  # 世界标准时间

.fromtimestamp()

import datetime

# 直接把时间戳改为格式化字符串格式
print(datetime.datetime.fromtimestamp(3333333))  # 1970-02-08 21:55:33

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值