一、time模块

1:概述

时间表示的分类

  • 时间戳
  • 格式化的时间字符串
  • 结构化时间

时间戳:时间戳表示的是从1970年1月1日整0点到目前秒的偏移量,数据类型是浮点型,主要用来让计算机看的

格式化的时间字符串:如 2019-01-26 等 ,数据类型是字符串,主要是人看

结构化时间:结构化时间会将时间进行分组,比如年,月,日,时,分,秒等等,数据类型是一个元祖,主要做时间转换

有如下方法

  • time.time() 获取时间戳
  • time.strftime 获取格式化字符串时间
  • time.localtime 获取结构化的时间
  • time.mktime 结构化时间----> 时间戳
  • time.gmtime/localtime 时间戳-->结构化的时间 gmtime UTC时间  localtime当地时间
  • time.strptime 格式化时间---> 结构化时间

2:Python中的时间戳

import time   # 导入time模块
print(time.time()) # 打印时间戳
# 1548483247.8239293

3: Python中的格式化字符串时间

import time  # 导入time模块
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 根据自定义规则输出格式化好的字符串时间

以下是Python中的时间格式化参数的具体含义

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

我们可以根据上述符号自定义属于自己的格式化的字符串时间

4:结构化时间

import time # 导入time模块
print(time.localtime()) # 输出结构化时间
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=26, tm_hour=14, tm_min=23, tm_sec=22, tm_wday=5, tm_yday=26, tm_isdst=0)

以下是结构化时间各个字段的具体含义

tm_year(年)
tm_mon(月)
tm_mday(日)
tm_hour(时)
tm_min(分)
tm_sec(秒)
tm_wday(weekday)
tm_yday(一年中的第几天
tm_isdst(是否是夏令时

5:各种时间类型的转换

以下是转换的方法

# 时间戳--->格式化字符串时间
import time # 导入time模块
now_stamptime = time.time() # 获取当前的时间戳
now_struct_time = time.localtime(now_stamptime) # 通过time.localtime,将时间戳时间转换为结构化的时间
now_format_time = time.strftime('%Y-%m-%d %H:%M:%S',now_struct_time) # 通过time.strftime,将结构化的时间转换为格式化字符串的时间 (格式,结构化时间)
print(now_format_time)
# 格式化字符串时间---> 时间戳
import time # 导入time模块
format_time = time.strftime('%Y-%m-%d %H:%M:%S') # 获取一个格式化字符串时间
print(format_time)
struct_time = time.strptime(format_time,'%Y-%m-%d %H:%M:%S') # 使用strptime格式化时间--> 结构化时间(格式化时间,格式)
print(struct_time)
stamp_time = time.mktime(struct_time) # 使用mktime将结构化的时间转换为时间戳
print(stamp_time)

二、datetime模块

# 如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。

# 打印现在的时间 .now() 返回的datetime数据类型
from datetime import datetime
now = datetime.now()
print(now, type(now))
# 2019-12-18 18:19:02.554144 <class 'datetime.datetime'> # 将时间戳转换为datatime类型的时间
import time
from datetime import datetime
ts = time.time()
dt = datetime.fromtimestamp(ts)
print(dt, type(dt))
# 2019-12-18 18:18:32.000821 <class 'datetime.datetime'> # 将str时间转换为datetime时间
from datetime import datetime
str_t = '2019-08-01 01:00:00'
dt = datetime.strptime(str_t, '%Y-%m-%d %H:%M:%S')
print(dt, type(dt)) # 将datetime时间转换为str时间
from datetime import datetime
now_dt = datetime.now()
now_str = datetime.strftime(now_dt, '%Y-%m-%d %H:%M:%S')
print(now_str, type(now_str))
# 2019-12-18 18:26:47 <class 'str'> # datetime加减
from datetime import datetime, timedelta
now_dt = datetime.now()
now_dt_1h = now_dt + timedelta(hours=1)
print(now_dt_1h, type(now_dt_1h))
# 2019-12-18 19:32:13.883642 <class 'datetime.datetime'>
now_dt_1day = now_dt + timedelta(days=1)
print(now_dt_1day)
# 2019-12-19 18:32:13.883642
now_dt_1day_1h = now_dt + timedelta(days=1, hours=1)
print(now_dt_1day_1h)
# 2019-12-19 19:32:13.883642

Python内置模块之time模块的更多相关文章

  1. Python内置模块和第三方模块

    1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...

  2. python内置模块(time模块)

    常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...

  3. 8.python内置模块之random模块简介

    Python中的random模块用于生成随机数. 常用的7个函数: 1.random.random():返回一个[0,1)之间的随机浮点值(双精度) 2.random.uniform(a,b):返回[ ...

  4. Python 内置模块:os模块

    Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是windo ...

  5. 13.python内置模块之re模块

    什么是正则? 正则表达式也称为正则,是一个特殊的字符序列,能帮助检查一个字符串是否与某种模式匹配.可以用来进行验证:邮箱.手机号.qq号.密码.url = 网站地址.ip等.正则不是python语言独 ...

  6. 12.python内置模块之sys模块介绍

    python的sys模块是与python解释器交互的一个接口,提供对解释器使用或维护的一些变量的访问,即与解释器强烈交互的函数. sys模块的常用函数: 1.sys.argv:命令行参数列表.第一个元 ...

  7. 10.python内置模块之os模块

    os模块的作用:os 模块提供了非常丰富的方法用来处理文件和目录(管理和维护目录以及文件). os.path模块的作用:主要用于获取文件的属性(管理路径的(物理地址)). 小生总结了一些平时常用到的属 ...

  8. python内置模块之re模块

    内容概要 re模块常用方法 findall search match re模块其他方法 split sub subn compile finditer findall 对无名分组优先展示 re实战之爬 ...

  9. Python内置模块之序列化模块

    序列化模块 json dumps loads dump load pickle dumps loads dump load shelve json 1: dumps/loads import json ...

随机推荐

  1. HDOJ 1004 Let the Balloon Rise (字符串+stl)

    题目: Problem Description Contest time again! How excited it is to see balloons floating around. But t ...

  2. Rasterization 学习笔记

    ======================Barycentric interpolation====================================== <1>2d/3d ...

  3. 【转】python模块导入细节

    [转]python模块导入细节 python模块导入细节 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码 ...

  4. MongoDB 和 NoSQL简介

    MongoDB 是一个基于分布式文件存储的数据库( https://www.mongodb.com/ ).由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.MongoDB ...

  5. Linux内存带宽的一些测试笔记【转】

    转自:https://blog.csdn.net/subfate/article/details/40343497 版权声明:本文为迟思堂主人李迟原创文章,版权所有.可随便任意使用(包括学习研究商用) ...

  6. CSDN沙龙记录

    Panel python踩过的坑 曹正: 原因:语言的理解不精准. 语言特性坑:函数的参数不可变类型的定义类似list[],惰性处理简而言之延后执行, 胡阳: gevent的问题,django连接池的 ...

  7. 使用位图字体工具BMFont从图片生成自定义字体

    转载自:http://blog.csdn.net/keshuiyun/article/details/9960667 BMFont下载地址: http://www.angelcode.com/prod ...

  8. 阿里服务器配置swap

    说明:阿里服务器安装系统之后,默认swap为0 .该篇是阿里服务器上配置swap 的过程记录: 1.进入目录 cd /var/ 2.获取要增加的SWAP文件块(这里以1GB为例,count = 102 ...

  9. HNUOJ 13341

    题目给你一个串, 串是严格的 1 – n 的排列,里面的数是随机的 把这个串里面的数字分别输出//先预处理,对于给出的串能找到里面的最大数,再 DFS 处理 #include<iostream& ...

  10. ICO和IPO

    ICO 和 IPOIPO:在经过种子轮,天使轮,x轮之后已经非常成熟的状态下进行的投资,基本上是盈利的,上市的是股份,现金流ICO:早期有一个idea,然后又很多的小散户进行的几千万-几亿的投资,风险 ...