Python 中的时间包 datetime 和 time

# coding:utf-8

# 时间模块
# 导入方式一:
from datetime import datetime
from datetime import timedelta
import time
# print(datetime.now())

# 导入方式二:
# import datetime
# print(datetime.datetime.now())

# 1,获取时间间隔,通过函数timedelta(weeks=0,days=0,hours=0,minutes=0,seconds=0,microseconds=0, milliseconds=0) 获得时间间隔;
# weeks=0 周,days=0 天,hours=0 小时,minutes=0 分钟,seconds=0 秒,microseconds=0 毫秒, milliseconds 微秒
timeobj = timedelta(weeks=2, days=1, hours=3, minutes=20, seconds=50, microseconds=200)
print(timeobj) # 15 days, 3:20:50.000200

# 2, 获得三天之后的时间
days = timedelta(days=3)
print(days)
print(datetime.now() + days)

# 3,获得三天之前的时间
before_time = timedelta(days=3)
three_time = datetime.now()-before_time
print(datetime.now()-before_time)

# 4,获取一小时之前的时间
before_hour = timedelta(hours=1)
print(datetime.now()-before_hour)
# 时间对象之间我们可以做 加法与减法 的操作,它无法进行时间对象之间的传输,比如A服务想要给B服务传输一个时间对象,但是时间对象是无法传输的,必须先要转成字符串

# 5,datetime 获取时间戳 使用 timestamp(date) : date 时间对象,必传
datetime_stamp = datetime.timestamp(datetime.now())
print('使用datetime获得时间戳(单位秒):', datetime_stamp)

# 6,datetime时间戳转为时间对象;fromtimestamp(timestamp)
obj_timestamp = datetime.fromtimestamp(datetime_stamp)
print('datetime时间戳转为时间对象:', obj_timestamp)


# 时间对象转字符串 strftime(format)
now = datetime.now()
str_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(str_date)
# 字符串转时间对象 strptime(str_time, formate);当时间字符串转时间对象时,格式要一致,否则报错
obj_date = datetime.strptime(str_date, "%Y-%m-%d %H:%M:%S")
print(obj_date)

# time模块,
# 时间戳是从1970年1月1日00时00分00秒至今的总毫秒(秒)数,python是按照秒来计算时间戳的
# python中,用timestamp表示时间戳,是float类型,
# time() 获取时间戳
timestamp = time.time()
print('时间戳', timestamp)
# 获取本地的时间函数 localtime() ;  不传参数的情况
localtime = time.localtime()
# tm_year	四位数的年单位	1970~∞
# tm_mon	月	1~12
# tm_mday	日	1~31
# tm_hour	小时	0~23
# tm_min	分钟	0~59
# tm_sec	秒	0~61(闰年会多两秒)
# tm_wday 一周的第几天, tm_yday 一年的第几日;
# tm_isdst 夏令时,-1 或 0 ;1 代表是否是夏时令;
print('本地时间', localtime)
# 本地时间 time.struct_time(tm_year=2022, tm_mon=5, tm_mday=19, tm_hour=9, tm_min=52, tm_sec=46, tm_wday=3, tm_yday=139, tm_isdst=0)

# localtime(time)  传参数的情况
format_localtime = time.localtime(timestamp)
print(format_localtime)

# 将指定时间对象转为时间戳
a = "2021-08-31 11:00:00"
# 将其转换为时间数组
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
# 转换为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp, type(timeArray))

# 暂停函数 sleep(sleep_time)  该函数会让程序暂停执行一段时间; sleep_time 暂停执行的秒数

# time的strftime : time.strftime(format, t)
str_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print('time的strftime:', str_time)

# time的strptime() 将时间字符串转为 时间对象
obj_time2 = time.strptime('2020-05-05', '%Y-%m-%d')
print(obj_time2)
# time.struct_time(tm_year=2020, tm_mon=5, tm_mday=5, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=126, tm_isdst=-1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值