设为首页 加入收藏

TOP

python 时间合集 一(一)
2019-06-12 18:06:12 】 浏览:48
Tags:python 时间 合集


**以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨**
#### 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
``
编程开发网

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇用tcp协议实现一个并发的socketse.. 下一篇python CGI编程-----简单的本地使..