当前位置: 首页 > news >正文

时间相关模块

时间相关模块

time模块

import time
1.睡眠 - sleep(时间)
time.sleep(2)      #  表示在此电脑停顿2秒
2.获取当前时间戳 : - time()
t1 = time.time()
print(t1)  # 1661476465.622042

时间戳: 通过时间差来表示具体的时间(指定时间到1970年1月1日0时0分0秒(格林威治时间)之间的时间差(单位:秒))

虽然我们经常会用时间 2022年x月x日 来表示 这时候电脑会用字符串形式保存这个数据。

时间戳的优点就体现出来了,保存数字肯定比保存字符串要省许多内存,所有以时间戳保存的优点在于

优点: 1.节省内存。 2.方便加密

3.获取本地时间 : localtime() — 返回值是结构体时间

默认值是当前时间,如果里面有时间戳,会将时间戳转化为结构体时间。

有一个比较另类的是python中,他会根据本地时间来计算时间差。

t2 = time.localtime()
print(
    t2)  # time.struct_time(tm_year=2022, tm_mon=8, tm_mday=26, tm_hour=9, tm_min=27, tm_sec=56, tm_wday=4(星期值,本来今天星期五,但是他从0开始的星期一), tm_yday=238(今年的第238天), tm_isdst=0)
print(t2.tm_mday)

print(time.localtime(
    0))  # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
# 为什么是8小时,因为python会把时间差自动转换成当地时间。
4.将结构体时间转化成时间戳 mktime(结构体时间)
print(time.mktime(t2))      
5.时间字符串和结构体时间之间的相互转换

1)结构体时间转换成字符串 - strftime(时间格式,结构体时间)

%Y:年份占位符

%m : 月数占位符

%d : 日数的占位符

%H: 以24小时制的,小时占位符

%M: 分钟数占位符

%S:秒数占位符

%Z:地区时间差(我打印出来:中国标准时间)

%a:简写星期数占位符(Sat)

%A:详细星期数占位符(Saturday)

%b:月份占位符

%B:详细月份占位符

%I: 以12小时制的,小时占位符

%p:AM或PM 占位符

result = time.strftime('%Y年%m月%d日', t2)
print(result)

2)字符串时间转换成结构体时间 - strptime(字符串时间,时间格式)

result1 = time.strptime('2021月3日4', '%Y月%m日%d')
print(result1)

datetime模块

from datetime import datetime,timedelta
1.datetime类

1)获取当前时间

t1 = datetime.today()  # 和datetime.now()一样
print(t1, type(t1))        #2022-08-27 09:26:59.907219 <class 'datetime.datetime'>

2)根据时间值创建时间对象

t3 = datetime(2020, 12, 5)
print(t3)
t4 = datetime(2020, 12, 5, 12, 50, 30)
print(t4)
# 3)根据实际字符串创建时间对象
t5 = datetime.strptime('2021/3/5', '%Y/%m/%d')
print(t5)

# 4)单独获取具体的时间信息
print(t5.year)
print(t5.day)
print(t5.weekday())  # 星期值的取值范围:0-6,0表示星期一

# 5)将时间对象转换成字符串时间:datetime.strftime()
# xxxx年xx月xx日
result = t4.strftime('%Y年%m月%d日')
print(result)

# 6)求时间差:时间对象1   -  时间对象2
t1 = datetime(2022, 5, 3, 9, 10)
t2 = datetime(2022, 10, 1, 10, 5)
result = t2 - t1
print(result, type(result))  # 151 days, 0:55:00 <class 'datetime.timedelta'>
print(result.days)
print(result.seconds)

# 7)时间对象转换成结构体
result = t1.timetuple()
print(result)

# 8)时间对象转时间戳
result = t1.timestamp()
print(result)

# 2.timedelta    -  时间间隔类
t1 = datetime(2020, 10, 1, 10, 8, 30)
print(t1)

# 10天以后对应的事件
result = t1 + timedelta(days=10)
print(result)

# 30天以前对应的时间
result = t1 - timedelta(days=30)

# 5天6小时之前
result = t1 - timedelta(days=5, hours=6)
print(result)

# 3周以后
result = t1 + timedelta(weeks=3)
print(result)

相关文章:

  • LINU下登录脚本的执行顺序
  • MySQL 文本函数和窗口函数
  • springboot+cloud实战派PDF让开发和微服务架构像喝水一样简单
  • QML自定义的日历控件
  • Hive的 mapreduce 计算例子
  • 代码演示傅里叶合成演示
  • 【实用工具】magic-api接口快速开发框架
  • 在线客服功能介绍-了解常见在线客服系统的功能点
  • 基于安卓/Android/微信小程序的学生作业管理系统
  • 数据库读写分离和分库分表
  • 长江中下游先民最早驯化野生稻 国稻种芯:全球35亿人口主食
  • 数字逻辑设计(4)
  • Netty笔记
  • 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十五)
  • 【毕业设计】基于机器学习的跌倒检测系统 - 图像识别
  • [笔记] php常见简单功能及函数
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • android图片蒙层
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Java 多线程编程之:notify 和 wait 用法
  • java8 Stream Pipelines 浅析
  • Java小白进阶笔记(3)-初级面向对象
  • jdbc就是这么简单
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Python学习笔记 字符串拼接
  • Redis 中的布隆过滤器
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • WePY 在小程序性能调优上做出的探究
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 对象引论
  • 官方解决所有 npm 全局安装权限问题
  • 经典排序算法及其 Java 实现
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 聊聊flink的BlobWriter
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 排序算法之--选择排序
  • 手写双向链表LinkedList的几个常用功能
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 通信类
  • 用jQuery怎么做到前后端分离
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #include<初见C语言之指针(5)>
  • #QT(TCP网络编程-服务端)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (十一)手动添加用户和文件的特殊权限
  • (一)基于IDEA的JAVA基础10
  • (转) ns2/nam与nam实现相关的文件
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决