Python入门-系统模块time
1.time模块
时间戳:1970年,1月1日开始
时间元祖:包含日期,时间,保存日期结构的元祖对象
格式化时间日期:按照指定的标记进行格式化处理
时间戳
import time time_num = time.time() # 获取时间戳
time_tuple = time.localtime(time_num) # 时间戳转为时间元祖
res_res = time.mktime(time_tuple) # 时间元祖转换回时间戳
format_time= time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) #日期格式化
res_tuple_time = time.strptime(format_time, '%Y-%m-%d %H:%M:%S') print("时间戳:",time_num)
print("时间戳转为时间元祖:",time_tuple)
print("时间元祖转为时间戳:",res_res)
print("格式化日期显示:", format_time)
print("格式化时间转回时间元祖:", res_tuple_time)
"""
时间戳: 1629636166.1266477
时间戳转为时间元祖: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=22, tm_hour=20, tm_min=42, tm_sec=46, tm_wday=6, tm_yday=234, tm_isdst=0)
时间元祖转为时间戳: 1629636166.0
格式化日期显示: 2021-08-22 20:42:46
格式化日期转回时间元祖: time.struct_time(tm_year=2021, tm_mon=8, tm_mday=22, tm_hour=20, tm_min=42, tm_sec=46, tm_wday=6, tm_yday=234, tm_isdst=-1)
""" print("格式化日期显示-只显示日期:", time.strftime("%F", time.localtime()))
print("格式化日期显示-只显示时间:", time.strftime("%T", time.localtime()))
"""
格式化日期显示-只显示日期: 2021-08-22
格式化日期显示-只显示日期: 20:47:15
"""
时间戳的应用
import time
res = time.time()
print(res) #获取时间戳:1629537871.082874 #时间戳的使用,计算程序执行时间
def sum():
s = 0
for i in range(29999999):
s += i
return s
def main():
qidong1 = time.time()
cpu_time1= time.process_time()
sum()
qidong2 = time.time()
cpu_time2 = time.process_time()
print("【程序CPU耗时统计】:{}秒".format(cpu_time2-cpu_time1))
print("【程序计算耗时统计】:{}秒".format(qidong2-qidong1))
main()
"""
1629538723.3552346
【程序CPU耗时统计】:1.859375秒
【程序计算耗时统计】:1.8734791278839111秒
"""
2.日期模块 calendar
import calendar calendar.setfirstweekday(calendar.SUNDAY) #设置一周的开始周几,默认周一 print(calendar.calendar(2021)) # 显示年历
print(calendar.month(2021, 8)) # 显示月历,返回结果可看出不准,8月第一天是星期日,不是周六
print(calendar.monthrange(2021, 8)) #返回该年月的:第一天是星期几,一个月的天数【实测不准!!】
print(calendar.isleap(2020)) # 判断是否闰年
print(calendar.leapdays(2012,2020)) #判断俩年份间的闰年个数,包头不包尾
"""
年历代码不展示 Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 (6, 31)
True
2
"""
3.模块datetime
datetime.date日期
from datetime import date print("=======datetime.date日期操作演示===========")
print(date.today()) #获取今天的日期
res = date(2021,9,17)
print(res.weekday()) #获取指定日期,是星期几
print(res.isoformat()) #获取指定日期,格式化
"""
=======datetime.date日期操作演示===========
2021-08-22
4
2021-09-17
"""
datetime.time时间
from datetime import time # 和time.time模块不能同时导入
from datetime import datetime
from datetime import timedelta
time_str = time(23, 59, 59)
print("获取指定时间为:{}时{}分{}秒".format(time_str.hour, time_str.minute, time_str.second ))
date_res = datetime(2021, 8, 22, 22, 54, 27) #只需要传入年月日时分秒
print("获取指定日期时间:", date_res)
print("=======datetime.timedelta时间操作演示===========")
print("再加X小时,实际日期为:",date_res + timedelta(hours=30))
print("再加上X天,实际日期为:",date_res + timedelta(days=20))
print("再减去X天,实际日期为:",date_res - timedelta(days=20))
"""
获取指定时间为:23时59分59秒
获取指定日期时间: 2021-08-22 22:54:27
=======datetime.timedelta时间操作演示===========
再加X小时,实际日期为: 2021-08-24 04:54:27
再加上X天,实际日期为: 2021-09-11 22:54:27
再减去X天,实际日期为: 2021-08-02 22:54:27
"""
atetime.tzinfo时区
from datetime import tzinfo
from datetime import datetime
from datetime import timedelta # 继承tzinfo,覆写方法
class UTC(tzinfo):
def __init__(self, offset=0):
self.__offset = 0
def tzname(self, dt):
return "UTC时区:".format(self.__offset)
def utcoffset(self, dt):
return timedelta(hours=self.__offset)
def dst(self, dt):
return timedelta(hours=self.__offset)
if __name__ == '__main__':
china_date = datetime(2021, 8, 22, 22, 54, 27, tzinfo=UTC(8))
gemena_date = datetime(2021, 8, 22, 22, 54, 27, tzinfo=UTC(1))
print("=======datetime.tzinfo时区演示===========")
print("北京时间:", china_date)
print("德国时间:", gemena_date)
print("北京转德国时间:", china_date.astimezone(UTC(1)))
print(china_date - gemena_date) """
=======datetime.tzinfo时区演示===========
北京时间: 2021-08-22 22:54:27+00:00
德国时间: 2021-08-22 22:54:27+00:00
北京转德国时间: 2021-08-22 22:54:27+00:00
0:00:00
"""
Python入门-系统模块time的更多相关文章
- Python 入门之 模块
Python 入门之 模块 1.模块 (1)模块是什么? 将一些常用的功能封装到一个文件中,那么这个存储着很多常用的功能的py文件,就是模块. 模块就是文件,存放一堆常用的函数.模块,就是一些常用 ...
- python 入门学习---模块导入三种方式及中文凝视
Python 有三种模块导入函数 1. 使用import 导入模块 import modname : 模块是指一个能够交互使用,或者从还有一Python 程序訪问的代码段.仅仅要导入了一个模块,就能够 ...
- Python 常用系统模块整理
Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 th ...
- python入门之模块
序什么是包包的作用一.什么是模块二.模块的三种来源三.模块的四种表现形式四.为什么要使用模块五. 如何创建,编写模块,并使用模块5.1 给模块起别名5.2 模块的导入方式5.3 循环导入问题 TOC ...
- Python入门-pip模块管理工具
安装 # 在线安装 pip install <包名> 安装后,该模块文件会在安装python环境目录:lib/packages目录下 # 安装本地安装包 pip install <目 ...
- Python入门-常用模块
1.sys,os import sys import os #获取当前的路径 print(sys.path[0]) print(os.getcwd()) print(os.path.abspath(& ...
- [笔记] Python入门---time模块
#__author:Mifen #date: 2018/12/6 import time ''' 时间戳是一种用于表示时间的方式.从1970年1月1日0时0分0秒0毫秒开始到指定时间的秒数.世间戳也叫 ...
- python系统模块
Python中大多数系统接口都集中在两个模块:sys和os.这么说有点过于简单化 还有一些其他的表转模块也属于这个领域他们包括: glob 用于文件名的扩展 socket 用于网络连接和进程间通信(I ...
- Python基础入门-os模块
今天我们来介绍一下os模块中常用的一些方法,当然python中的os模块中提供的使用方法有很多,但是这里面小编会列举出来一些和实际工作中应用的相关的方法,而且会有一些实际的例子方便大家对os模块理解. ...
随机推荐
- 创建vue脚手架步骤
一.在cmd配置npm淘宝镜像 npm config set registry https://registry.npm.taobao.org 二.仅第一次执行安装,安装好后关掉cmd后再开,这个时候 ...
- 理解并手写 call() 函数
手写自己的call,我们要先通过call的使用,了解都需要完成些什么功能? call()进行了调用,是个方法,已知是建立在原型上的,使用了多个参数(绑定的对象+传递的参数). 我们把手写的函数起名为m ...
- ArcMap操作随记(14)
1.ArcMap中模型转为Python脚本 [模型]→右键→[编辑]→[模型]→[导出]→[至Python脚本] 2.一般来说,植被指数NDVI,-1<=NDVI<=1. 3.用lands ...
- C#+SQL Server的数据库管理系统常用的代码
数据库管理系统 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立.使用和维护数据库,简称DBMS.它对数据库进行统一的管理和控制,以保证 ...
- 发现Compound的第二个严重漏洞
本文转自 发现Compound的第二个严重漏洞 | 登链社区 | 深入浅出区块链技术 (learnblockchain.cn) 这个漏洞原作者在2022年02月23日已经发布过,由于内容比较敏感,发布 ...
- 4月26日 python学习总结 JoinableQueue、线程、三种锁
一.进程队列补充-创建进程队列的另一个类JoinableQueue JoinableQueue同样通过multiprocessing使用. 创建队列的另外一个类: JoinableQueue([max ...
- Redis系统学习
准备写一些关于Redis学习的文章的,发现网上有N多资料有人已经做了总结.查看这些Redis资料,按次序浏览这些Redis资料,相信想学习Redis的同学会很快熟悉: 1.Redis学习手册(目录) ...
- Future和FutureTask的区别
java中有Future和FutureTask这两个类 Future是一个接口,代表可以取消的任务,并可以获得任务的执行结果 FutureTask 是基本的实现了Future和runnable接口 ...
- 分库分表之后分布式如何保证ID全局唯一性
分库分表之后分布式如何保证ID全局唯一性 韩师学子--小倪 2018-07-21 23:35:38 8139 收藏 3分类专栏: Mysql版权 分库分 ...
- Integer与int的区别?
int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类.int的默认值为0,而Integer的默认值为null,即Integer可 ...