**以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨**
#### 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. FSM之三--代码风格

    FSM设计之一http://www.cnblogs.com/qiweiwang/archive/2010/11/28/1890244.html Moore型状态机与mealy型状态机相比,由于其状态输 ...

  2. hdoj--1034--Hidden String(dfs)

    Hidden String Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  3. BZOJ 3224 平衡树模板题

    Treap: //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; int n, ...

  4. 分享一段wap框架样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. zip-tar

    1.zip 制作压缩文件 (1)格式:zip 压缩文件名 文件1 文件2... zip文件不能用cat查看 (2)选项: -r:用来压缩目录 2.unzip 解压缩文件 (1)格式:unzip 压缩文 ...

  6. 学习——HTML5中事件

    HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...

  7. 利用命令行删除Android系统自带应用的方法

    声明:本博客为原创博客.未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(链接为http://blog.csdn.net/bettarwang/article/detai ...

  8. android 动画xml属性具体解释

    /** * 作者:crazyandcoder * 联系: * QQ : 275137657 * email: lijiwork@sina.com * 转载请注明出处! */ android 动画属性具 ...

  9. android framework 02

    Android底层开发1.安装Ubuntu系统2.Ubuntu配置开发环境: sudo apt-get install git-core gnupg flex bison gperf zip sudo ...

  10. [BZOJ4555 TJOI2016 HEOI2016 求和]

    ​ 第一篇博客,请大家多多关照.(鞠躬 BZOJ4555 TJOI2016 HEOI2016 求和 题意: ​ 给定一个正整数\(n\)(\(1\leqq n \leqq100000\)),求: \[ ...