**以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨**
#### 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. Yocto tips (10): Yocto hellworld 加入一个软件包

    Yocto中一个软件包是放在bb文件里的,然后非常多的bb文件集成一个recipe(配方),然后很多的recipe又组成一个meta layer.因此,要加入一个包事实上就是在recipe以下加入一个 ...

  2. php 扩展

    如何利用PHP扩展函数,扩展出自己的函数等 php扩展函数有哪些zend_parse_parameters() spprintf() RETURN_STRINGL()

  3. POJ 3265 DP

    思路: f[i][j]表示前i天能做j道题 (是做 不是做完) if(f[i-1][k]) if(suma[j]-suma[k]+g[i-1][k]<=n) f[i][j]=1,g[i][j]= ...

  4. HDU 4349 Xiao Ming's Hope 组合数学

    题意:给你n,问在C(n,1),C(n,2)...C(n,n)中有多少个奇数. 比赛的时候打表看出规律,这里给一个数学上的说明. Lucas定理:A,B非负整数,p是质数,A,B化为p进制分别为a[n ...

  5. 有关error PRJ0003错误的思考

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事遇到两个编译错误: 项目: error PRJ0003 : 生成"rc.exe"时出错. ...

  6. 在Ubuntu14.04中安装Py3和切换Py2和Py3环境

    前几天小编给大家分享了如何安装Ubuntu14.04系统,感兴趣的小伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编给大家分享一下在Ubuntu14.04系 ...

  7. 网络爬虫与web之间的访问授权协议——Robots

    网站的管理者们通常会有这样一种心态:一方面期待百度.Google这样的搜索引擎来抓取网站的内容,另一方面又很厌恶其他来路不明的网络爬虫抓取自己的信息.正是因为这样,才有“好爬虫”.“坏爬虫”这样的说法 ...

  8. U-BOOT概述及源码分析(一)

    嵌入式Linux系统从软件角度通常可以分为以下4个层次: 引导加载程序 | Linux内核 | 文件系统 | 用户应用程序 嵌入式Linux系统中典型分区结构: 正常启动过程中,Bootloader首 ...

  9. [Parcel] Bundle a React App with Parcel

    Parcel comes in as the new cool kid in the bundlers world. Unlike other bundlers which take lots of ...

  10. XHTML是什么?XHTML与HTML的区别

    经常看到web前端开发人员口中提到XHTML,相信很多web前端开发的新手们感到很疑惑,甚至有些时候认为XHTML就是HTML,这个观点是错误的,今天零度就给大家好好说道说道XHTML和HTML的区别 ...