内容概要

  • time模块

    **timestamp时间戳

    **struct_time结构化时间

    **format time格式化时间
  • datetime模块

    **date

    **time

    **datetime

    **timedelta

内容详细

一、time模块

"""
时间三种表现形式
1.时间戳(秒数)
2.结构化时间(一般是给机器看的)
3.格式化时间(一般是给人看的)
三种时间是可以相互转换的!!!
"""

1、时间戳(timestamp)

时间戳表示的是从1970年1月1日00:00:00开始按秒计算到目前的偏移量,

也就是计算从1970年到现在所过去的秒数

print(time.time())  # 1637839983.8243246

# 时间戳转换成结构化时间
time.localtime()
print(time.localtime(time.time()))
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=25, tm_hour=19, tm_min=36, tm_sec=33, tm_wday=3, tm_yday=329, tm_isdst=0)

2、结构化时间(struct_time)

共有九个元素组:

tm_year(年)                  比如2011
tm_mon(月) 1 - 12
tm_mday(日) 1 - 31
tm_hour(时) 0 - 23
tm_min(分) 0 - 59
tm_sec(秒) 0 - 61
tm_wday(weekday) 0 - 6(0表示周日)
tm_yday(一年中的第几天) 1 - 366
tm_isdst(是否是夏令时) 默认为-1
print(time.localtime())
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=25, tm_hour=19, tm_min=40, tm_sec=1, tm_wday=3, tm_yday=329, tm_isdst=0)

结构化时间转成时间戳:

struct_times = time.localtime()
timestamps_ = time.mktime(struct_times)
print(timestamps_) # 1637840676.0

3、格式化时间

已格式化的结构使时间更具可读性。包括自定义格式和固定格式

print(time.strftime('%Y-%m-%d'))  # 2021-11-25
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2021-11-25 19:56:25
print(time.strftime('%Y-%m-%d %X')) # 2021-11-25 19:56:25

二、datetime模块

1、date

print(datetime.date.today())  # 2021-11-25
# 区别 datetime类
print(datetime.datetime.today()) # 2021-11-25 20:12:45.749087

2、datetime

"""date年月日  datetime年月日时分秒  time时分秒(MySQL django后期可以)"""
# res = datetime.datetime.today()
# print(res.year) # 2021
# print(res.month) # 11
# print(res.day) # 25
# print(res.weekday()) # 获取星期(weekday星期是0-6) 0表示周一
# print(res.isoweekday()) # 获取星期(weekday星期是1-7) 1表示周一

3、timedelta(时间差)

ctime = datetime.datetime.today()
time_tel = datetime.timedelta(days=3)
print(ctime) # 2021-11-25 20:16:09.128001
print(ctime - time_tel) # 2021-11-22 20:16:09.128001
print(ctime + time_tel) # 2021-11-28 20:16:09.128001

train

# 小练习 计算举例今年过生日还有多少天
birthday = datetime.date(1999, 7, 22)
now_date = datetime.date.today()
days = birthday - now_date
print('距离生日还有{}天'.format(days)) # 距离生日还有-8162 days, 0:00:00天 # UTC时间与我们的东八区时间差 八个小时
print(datetime.datetime.now()) # 2021-11-25 20:18:55.363573
print(datetime.datetime.utcnow()) # 2021-11-25 12:18:55.363573

time模块以及datetime模块的更多相关文章

  1. Time模块和datetime模块

    Time模块和datetime模块 一. 调用 import time       #调用time模块 二.使用方法 1.time.time 拿到时间戳.以Linux诞生年份1970年开始计算到程序执 ...

  2. python中time模块和datetime模块

    time模块和datetime模块 时间分为三种模式(time 模块) 时间戳   (time.time()) 格式化字符串 (time.strftime(%Y-%m-%d %H:%M:%S %p)) ...

  3. Python之路(第十六篇)xml模块、datetime模块

    一.xml模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单, xml比较早,早期许多软件都是用xml,至今很多传统公司如金融行业的很多系统的接口还主要 ...

  4. (转)python time模块和datetime模块详解

    python time模块和datetime模块详解 原文:http://www.cnblogs.com/tkqasn/p/6001134.html 一.time模块 time模块中时间表现的格式主要 ...

  5. python time模块 sys模块 collections模块 random模块 os模块 序列化 datetime模块

    一 collections模块 collections模块在内置的数据类型,比如:int.str.list.dict等基础之上额外提供了几种数据类型. 参考博客 http://www.pythoner ...

  6. python time模块和datetime模块详解

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

  7. python3 time模块与datetime模块

    time模块 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平 ...

  8. python time模块和datetime模块

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

  9. day21 Pythonpython time模块和datetime模块详解

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

  10. 【python】 time模块和datetime模块详解 【转】

    一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...

随机推荐

  1. js 动态设置键值对数组 ,类似于 java 的Map 类型

    1.前言 我想设置一个数据  var json = {a1 :1  , a2 :2  , a3 :3  .....} 这样的动态数据 ,怎么写呢? 2.正确写法 var json = []; for ...

  2. VM和CentOS7安装教程

    如果图片损坏,点击链接:https://www.toutiao.com/i6491076101664670222/ 安装软件 VMware_workstation_full_12.5.2 CentOS ...

  3. IE8和IE9下textarea滚动选中的问题

    在IE8和IE9下如果textarea设置了样式overflow-y:auto;就不可以滚动选中了,应该样式写成overflow:auto;有了纵向滚动实际上就不会出现横向滚动的情况,也没有必要ove ...

  4. dart系列之:手写Library,Library编写最佳实践

    目录 简介 使用part和part of src中的文件 package中的lib文件 总结 简介 Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非常有 ...

  5. Keepalived高可用、四层负载均衡

    目录 Keepalived高可用 高可用简介 常用的工具 问题 名称解释 VRRP协议 部署keepalived 下载安装 Keepalived配置 保证nginx配置一样 解决keepalived的 ...

  6. 使用结构化克隆在 JavaScript 中进行深度复制

    在很长一段时间内,您不得不求助于变通方法和库来创建 JavaScript 值的深层副本.现在js提供 「structuredClone()」 一个用于深度复制的内置函数. 浏览器支持: 浅拷贝 在 J ...

  7. 简单Spring MVC项目搭建

    1.新建Project 开发环境我使用的是IDEA,其实使用什么都是大同小异的,关键是自己用的顺手. 首先,左上角File→New→Project.在Project页面选择Maven,然后勾上图中所示 ...

  8. Cesium应用篇--添加雨雪天气

    作为一个三维地球,在场景中来点雨雪效果,貌似可以增加一点真实感.Cesium官网Demo中有天气系统的实例,用的是Cesium中的粒子系统做的.效果如下图所示,粒子系统的本质是向场景中添加了很多物体, ...

  9. 记一次org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only异常

    @Transactional(rollbackFor = Exception.class) @Overridepublic DubboResult<Boolean> productAddO ...

  10. javaObject类—hashCode方法

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...