一、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. ASP.NET MVC - 发布web应用程序、部署到IIS

    发布项目 右击项目 - 发布 选择IIS - 点击发布 发布方法 - 文件系统,目标位置 - 选择与项目所在目录不同的目录(也即,指定一个发布生成文件的目录),文件发布选项 - 不选 - 点击发布 安 ...

  2. 2017-2018-2 20165237 实验二《Java面向对象程序设计》实验报告

    ##2017-2018-2 20165237 实验二<Java面向对象程序设计>实验报告 No.1 实验要求: 实验三 敏捷开发与XP实践 http://www.cnblogs.com/r ...

  3. MongoDB与MySQL的插入、查询性能测试

    1.1  MongoDB的简单介绍 在当今的数据库市场上,MySQL无疑是占有一席之地的.作为一个开源的关系型数据库,MySQL被大量应用在各大网站后台中,承担着信息存储的重要作用.2009年,甲骨文 ...

  4. oracle procedure存储过程

    1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS/AS 变量1 ; 变量2 DATE: BEG ...

  5. 零散的python知识点

    python第三方包的存放位置 python找包的规则 __init__.py 文件 解决python3跨目录引用包: 异常类 help() 函数 字典的使用 可以对字典进行循环 字典key或者val ...

  6. redis-3.2.11哨兵模式的配置

    设置内核参数: echo never > /sys/kernel/mm/transparent_hugepage/enabled > /proc/sys/vm/overcommit_mem ...

  7. python学习第16天。

    内置函数是在原本已经有的序列的基础上,再生成新的. List的方是修改原列表. 内置函数中大部分函数的返回值大部分都是迭代器.生成器. Sorted需要遍历操作,不是单纯的迭代,所以不生成迭代器. 一 ...

  8. appium+java(二)appium初始化参数部分详解

    Capabilities介绍 实际上它的全称是:Desired capabilities Desired capability是一个JSON对象,包含一组key和value值.它由客户端发送给服务端, ...

  9. [转]PhpStorm中如何使用Xdebug工具,入门级操作方法(亲测有效)

    0 前言 网上试过很多方案,有的根本无效,有的是有效一段时间后失效,然而这个方法是一直有效果,所以留底记录一下 1 简介 PhpStorm是一个轻量级且便捷的PHP IDE,其提供的智能代码补全,快速 ...

  10. cocos2d内存管理,类的生命周期

    下面资料来自<Cocos2d-x之Lua核心编程>