设为首页 加入收藏

TOP

python基础-常用内置包(一)
2023-07-25 21:27:20 】 浏览:64
Tags:python 基础 常用内

??内置包是python自带的一些功能模块,有需求时可以在自己文件中直接导入使用。

 

1.datetime包

??python中的时间包,可以在业务开发中辅助我们处理时间信息;

# datetime可以获取当前时间
from datetime import datetime
re = datetime.now()
print(re)  # 2022-12-07 16:32:37.000297

# 或者
import datetime
re = datetime.datetime.now()
print(re)  # 2022-12-07 16:33:41.135512


'''
datetime可以获取时间间隔
利用timedelta方法
timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,week=0)  
所需的间隔参数可按需添加
一般结合datetime.datetime.now()使用
'''
# eg:获取昨天时间对象
import datetime
yesterday = datetime.datetime.now() - datetime.timedelta(days=1)  # 用加减表示时间得前后
print(yesterday)  # 2022-12-06 16:52:49.028523
print(type(yesterday))  # <class 'datetime.datetime'>

??上面的例子中获取到的时间值都是一个datetime时间对象,不方便信息存储和传递,可以转化成字符串处理;

import datetime

now = datetime.datetime.now()
now_str = now.strftime('%Y-%m-%d %H:%M:%S')
print(now_str)  # 2022-12-07 17:40:09  (这种时间格式就符合我们平常的使用和展示了)
print(type(now_str))  # <class 'str'>

after_hour = datetime.datetime.now() + datetime.timedelta(hours=1)
print(after_hour)  # 2022-12-07 18:40:09.615895
print(after_hour.strftime('%Y-%m-%d %H:%M:%S'))  # 2022-12-07 18:40:09

# 有时还需要反向操作,将时间字符串转化为datetime时间对象
# 将'2022-12-07 17:45:09'转化成datetime时间对象(此时字符串内的时间格式要是标准的,否则会报错)
datetime_object = datetime.datetime.strptime('2022-12-07 17:45:09', '%Y-%m-%d %H:%M:%S')
print(datetime_object)  # 2022-12-07 17:45:09
print(type(datetime_object))  # <class 'datetime.datetime'>
# 此时可以拿着时间对象进行时间间隔等的计算了

 

2.time包

??同样是用于处理时间、转换时间格式的模块;

'''
先看下什么是时间戳:
    英文用timestamp表示
    是1970年1月1日00时00分00秒至今的总毫秒数 (python中默认是按秒表示时间戳的)
    python中时间戳是float类型
'''
import time
# time获取当前时间戳
now_timestamp = time.time()
print(now_timestamp)  # 1670470817.385102 (返回一个秒级别的时间戳,打印的是脚本真正执行时的时间戳)
print(type(now_timestamp))  # <class 'float'>

# 获取本地时间  time.localtime(timestamp) 
# 我们在使用time.time()获取到的时间戳并不能直观看出时间,可以借助localtime获得直观的时间格式
# 所以localtime一般用于转换时间戳为可读时间格式对象的场景
time_local = time.localtime(now_timestamp)
print(time_local)
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=8, tm_hour=11, tm_min=40, tm_sec=17, tm_wday=3, tm_yday=342, tm_isdst=0)
print(type(time_local))
# <class 'time.struct_time'>
'''
localtime返回的是一个time时间对象
各参数简介:
    tm_year 四位年数
    tm_mon 月 1-12
    tm_mday 日 1-31
    tm_hour 0-23
    t_min 0-59
    tm_sec 秒 0-61 (闰月问题)
    tm_wday 一周中的第几天 0-6(0是周一)
    tm_yday 一年的第几日 1-366(儒略历)
    tm_isdst 夏令时 -1,0,1是否是夏时令
'''
# 不传时间戳参数 timestamp可不传(不传的时候默认使用当前时间戳)
print(time.localtime())
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=8, tm_hour=11, tm_min=41, tm_sec=22, tm_wday=3, tm_yday=342, tm_isdst=0)

# 倒退100000秒
re = time.time() - 100000
print(time.localtime(re))
# time.struct_time(tm_year=2022, tm_mon=12, tm_mday=7, tm_hour=7, tm_min=58, tm_sec=53, tm_wday=2, tm_yday=341, tm_isdst=0)


# 若想让时间戳单位和其它语言单位一致变成毫秒,直接乘1000即可
re2 = time.time() * 1000
print(re2)  # 1670471309818.359
# 暂停函数 sleep(sec)  让程序暂停sec秒数
import time
print(time.time())  # 1670471809.716068
time.sleep(5)
print(time.time())  # 1670471814.7167113 (可以看到相差了五秒)
# time.strftime(format, t) 将时间对象t转化为所要的格式
import time
# 获取当前时间的标准格式
re = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(re)  # 2022-12-08 12:04:26
print(type(re))  # <class 'str'>

# 同样有反向操作time.strptime(ti
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇利用Python实现批量ping的小工具 下一篇flask蓝图与项目一般结构

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目