**以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨**
#### python中4种时间表示形式:1.格式化时间字符串 2.时间戳 3.时间元祖 4.时间对象
- string_time,格式化时间字符串是指**格式化输出指定输出参数的格式与相对位置的字符串参数**,与python中的format作用类似,常见的格式化时间字符串:**"%Y-%m-%d %H:%M:%S %z,%a,%A,%b,%B,%c,%I,%p"**其他代码请看文档,C库strftime函数。

名称 | 含义 | 值 |
---|---|---
%Y | 年 | 具体年份,例:2019
%m | 月 | 01-12
%d | 日 | 01-31
%H | 时 | 01-31
%M | 分 | 00,59
%S | 秒 | 00,61
%z | 时区 |
%a | 根据区域设置的缩写的工作日名称|
%A | 根据区域设置的完整工作日名称|
%b | 根据区域设置的缩写月份名|
%B | 根据区域设置的完整月份名称|
%c | 根据区域设置的适当日期和时间表示|
%I | 第几个小时(12小时制)| 01-12
%p | 语言环境| AM或PM
吐槽一下官网注释秒的范围是0-59,实测0-61都可以

- Timestamp,时间戳是指字符串或编码信息用于辨识记录下来的时间日期,维基百科解释的不容易懂,我的理解是**从1970年1月1日到现在过去了多少秒**。

- struct_time,时间元祖是**指包含9个特殊元素的元祖**,(tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst),详情见下表格

名称 | 含义 | 值 |
---|---|---
tm_year | 年 | 具体年份,例:2019
tm_mon | 月 | 1-12
tm_mday | 日 | 1-31
tm_hour | 时 | 1-23
tm_min | 分 | 0-59
tm_sec | 秒 | 0-61
tm_wday | 周 | 0-6(从周末开始)
tm_yday | 在一年中的第几天 | 1-666
tm_isdst | 是否为夏令时 | -1,0,1(能表示true和flase的值)
- time_object,时间对象是指**通过某些时间类生成的对象**,例如datetime。
#### python中两大时间模块:1.time 2.datetime

### 1.time
- 常量
- Variables with simple values,值简单的变量
- altzone,-32400
- daylight,0
- timezone,-28800
- _STRUCT_TM_ITEMS,11
- variables with complex values,值复杂的变量
- tzname 但是如果直接调用会得到一个乱码的值,看不懂,查阅资料后发现通过重新编码解码可以看到真实值,这里很感谢这个爱思考的博主,这里编码解码参考他的博客,这条博文在这里:https://www.cnblogs.com/luo630/p/9555684.html,里面讲的很详细
```python
>>> time.tzname[0].encode('latin-1').decode('gbk')
'中国标准时间'
>>> time.tzname[1].encode('latin-1').decode('gbk')
'中国夏令时'
```
- 方法:
- asctime:将时间元组转换为字符串,当没有传入参数时,调用localtime()返回的当前时间,参数类型:元祖,返回类型:字符串。例如:
```python
>>> import time
>>> time.asctime()
'Tue Jun 11 16:07:40 2019'
>>> time.asctime((2019,6,11,16,7,40,59,59,59)) # 这里必须要穿一个包含9个数字的元组,且年月日时分都必须符合时间逻辑,秒必须小于等于61,不知道为什么是61,后面三位逻辑暂时还没弄明白,但是跟前面对应的年月日有关
'Thu Jun 11 16:07:40 2019'
```
- clock:计时器函数,在进程结束后返回从开始到第一次调用该函数使用的时间,返回类型:浮点数。例如:
```python
>>> time.clock()
5e-07
>>> time.sleep(1)
>>> time.clock()
11.9833418
>>> time.sleep(10)
>>> time.clock()
35.1999596
```
- ctime:将时间戳转换为以本地时间为单位的字符串。相当于asctime(localtime(seconds))。当没有传入参数时,使用localtime()返回的当前时间。参数类型:时间戳,返回类型:字符串。例如:
```python
>>> time.ctime(1555555550)
'Thu Apr 18 10:45:50 2019'
>>> time.ctime()
'Tue Jun 11 17:08:44 2019'
```
- get_clock_info()

- gmtime:将时间戳转换为时间元祖,当没有传入参数时,返回当前世界标准时间的时间元祖。参数类型:时间戳,返回类型:元祖(但是查看源码只有一个pass)。例如:
```python
>>> time.gmtime(1555555550)
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=18, tm_hour=2, tm_min=45, tm_sec=50, tm_wday=3, tm_yday=108, tm_isdst=0)
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=11, tm_hour=9, tm_min=18, tm_sec=54, tm_wday=1, tm_yday=162, tm_isdst=0)
```

- localtime:与gmtime功能类似,但是返回的时间变成了当地时间。例如:
```python
>>> time.localtime(1555555550)
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=18, tm_hour=10, tm_min=45, tm_sec=50, tm_wday=3, tm_yday=108, tm_isdst=0)
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=11, tm_hour=17, tm_min=28, tm_sec=34, tm_wday=1, tm_yday=162, tm_isdst=0)
```
- mktime:将时间元祖转化为时间戳,返回时间戳。参数类型:时间元祖(9个元素),返回类型:时间戳。例如:
```python
>>> time.mktime((2019,4,18,10,45,50,3,108,0))
1555555550.0
```
- monotonic: 一个单调的计时器,不能倒转。不知道从什么时候开始的,返回类型:浮点型。例如:
```python
>>> def func():
... print(time.monotonic())
... time.sleep(1)
...
>>> i = 0
>>> while i<5:
... func()
... i+=1
...
461875.89
461876.89
461877.89
461878.89
461879.89
```
- perf_counter:性能计数器用于基准测试。不服跑个分!返回类型:浮点型。例如:
```python
>>> time.perf_counter()
3674.2299851
>>> time.perf_counter()
3675.2086447
>>> time.perf_counter()
3675.9990329
```
- process_time:用于分析的进程时间:内核和用户空间CPU时间的总和。返回类型:浮点型。例如:
```python
>>> time.process_time()
4.40625
```

- sleep:将执行延迟数秒。参数类型:int or float ,返回类型:无,这就不演示了...浪费时间

- strftime:
```
根据格式规范将时间元组转换为字符串。有关格式化代码,请参阅库参考手册。当没有传入参数时,使用localtime()返回的当前时间。传入参数:配对字符串,时间元祖(与字符串配对),返回参数:时间字符串
```
例:
```python
# 根据前面的格式化字符串来生成对应时间字符串
>>> time.strftime("%Y-%m-%d %H:%M:%S", (2019, 1, 1, 1, 1, 1, 1, 13, 0))
'2019-01-01 01:01:01'
>>> time.strftime("%Y-%m-%d %H:%M:%S %I", (2019, 1, 1, 1, 1, 1, 1, 13, 0))
'2019-01-01 01:01:01 01'
>>> time.strftime("%Y-%m-%d %H:%M:%S %z,%a,%A,%b,%B,%c,%I,%p", (2019, 1, 1, 1, 1, 1, 1, 13, 0))
'2019-01-01 01:01:01 +0800,Tue,Tuesday,Jan,January,Tue Jan 1 01:01:01 2019,01,AM'
```

- strptime:
```
根据格式规范将字符串解析为时间元组。有关格式化代码,请参阅库参考手册(与strftime ())。传入参数:时间字符串,配对字符串。返回参数:时间元祖
```
例:
```python
>>> time.strptime("2019-01-01 01:01:02", "%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=1, tm_hour=1, tm_min=1, tm_sec=2, tm_wday=1, tm_yday=1, tm_isdst=-1)
```

- time:以秒为单位返回从纪元开始的当前时间。如果系统时钟提供这些信息,那么可能只存在几分之一秒。就是我们常说的时间戳。返回参数:浮点数

python 时间合集 一的更多相关文章

  1. Python——模块合集

    标准库模块 ● Python——OS(系统操作模块) ● Python——MD5(加密模块) ● Python——time(时间模块) ● Python——re(正则表达式) ● Python——sy ...

  2. python知识合集

    python安装包管理  http://www.cnblogs.com/wilber2013/p/4769467.html python pip安装源管理:pypi官网的源不太好,网速慢,容易造成包下 ...

  3. python资源合集

    Python 官网: https://www.python.org/ Python2.7 doc: https://docs.python.org/2/ Python Package User Gui ...

  4. Python爬虫合集:花6k学习爬虫,终于知道爬虫能干嘛了

    爬虫Ⅰ:爬虫的基础知识 爬虫的基础知识使用实例.应用技巧.基本知识点总结和需要注意事项 爬虫初始: 爬虫: + Request + Scrapy 数据分析+机器学习 + numpy,pandas,ma ...

  5. python包合集-cffi

    一.cffi cffi是连接Python与c的桥梁,可实现在Python中调用c文件.cffi为c语言的外部接口,在Python中使用该接口可以实现在Python中使用外部c文件的数据结构及函数. 二 ...

  6. python包合集-shutil

    一.简介 shutil是 python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查看等方法,还提供了对文件以及目录的路径操作.shutil模块提供了移动 ...

  7. python包合集-argparse

    一.argparse简介 argparse 是 python 自带的命令行参数解析包,可以用来方便的服务命令行参数,使用之前需要先导入包 import argparse 二.简单案例 简单使用,创建一 ...

  8. 如何自学 Python(干货合集)

    http://wenku.baidu.com/view/5108f974192e45361066f583.html

  9. python 练习合集一

    一.运算符与流程控制 1.输入两个整数,打印较大的那个值2.输入三个整数,按照从小到大的顺序打印3.输入一个三位数,打印其个位.十位.百位上的数4.输入一个年份,判断是否为闰年,是打印一句话,不是打印 ...

随机推荐

  1. spring IOC --- 控制反转(依赖注入)----简单的实例

    IoC(Inversion of Control)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的核心接口,负责实例化,定位,配置应用程序中的对象及建立这些对象间的 ...

  2. Java反射异常处理之InvocationTargetException

    java.lang.reflect.InvocationTargetException处理办法可能是没有引commons-lang3-3.x.jar包

  3. Ionic2集成ngx-datatable,ng2-tree第三方控件.md

    1. 基本环境配置 1.1. 命令安装相应的依赖 1.2. 在Module定义中引入对应Module 1.3. 引入对应的CSS 2. 简单使用示例验证是否集成成功 2.1. ngx-datatabl ...

  4. visual studio 添加库文件

    我在visual studio中使用OpenGL时需要添加额外的库 一 首先下载库文件,里面将会有一些.h文件和.lib文件,打开visual studio安装目录下打开: D:\program\VS ...

  5. 参考《深度学习原理与应用实践》中文PDF

    读国内关于深度学习的书籍,可以看看<深度学习原理与应用实践>,对深度学习原理的介绍比较简略(第3.4章共18页).只介绍了"神经网络"和"卷积神经网络&quo ...

  6. nginx下修改svn配置

    最近公司的SVN服务器地址做了变更,而我用的操作系统是Ubuntu操作系统,我也不想把以前下载的代码重新进行修改,我想通过修改svn地址,应该可以,终于在网上通过查找资料,找到了解决的方法:      ...

  7. HTTP请求和响应1:概述

    HTTP的报文分为请求报文和响应报文,打开一个web页面后,浏览器将发起一个HTTP请求报文.HTTPserver收到请求后将回送一个响应报文. 报文的基本结构 HTTP的请求和响应报文都由三个部分组 ...

  8. Android RecyclerView滑动监听,判断是否滑动到了最后一个item

    项目中的需求,RecyclerView横向滑动列表,要有加载更多的功能,给RecyclerView设置一个滑动监听,在onScrolled方法中判断一下滑动方向,然后在onScrollStateCha ...

  9. 「HAOI2018」字串覆盖

    「HAOI2018」字串覆盖 题意: ​ 给你两个字符串,长度都为\(N\),以及一个参数\(K\),有\(M\)个询问,每次给你一个\(B\)串的一个子串,问用这个字串去覆盖\(A\)串一段区间的最 ...

  10. 03011_预处理对象executeUpdate方法(实现数据库的增、删、改)

    1.概述 (1)通过预处理对象的executeUpdate方法,完成记录的insert\update\delete语句的执行: (2)操作格式统一如下: ①注册驱动: ②获取连接: ③获取预处理对象: ...