time模块

时间的表示方法有三种:

  • 时间戳:表示的是从1970年1月1日0点至今的秒数
  • 格式化字符串表示:这种表示更习惯我们通常的读法,如2018-04-24 00:00:00
  • 格式化元祖表示:是一个具有九个元素的元祖

时间戳与格式元组的互相转换

import time   #导入time模块

d = time.time()  # 显示当前的时间戳

d
Out[16]: 1524570062.944023 time.localtime(d) #把时间戳转换为含9个元素的元组,转换为当地时间
Out[17]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0) time.gmtime(d) #把时间戳转换为含9个元素的元组,转换为UTC时间
Out[18]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=11, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0) ld = time.localtime(d) # ld.tm_year #转换的元组,可以根据需要单独计算对应的时间
Out[20]: 2018 time.mktime(ld) # 把元组在转换回时间戳
Out[21]: 1524570062.0

备注:UTC时间为格林威治时间,比东八区晚8个小时!

时间戳与格式化字符串的转换:

时间戳-------->格式化元组---------->格式化字符串

help(time.strftime)
Help on built-in function strftime in module time: strftime(...)
strftime(format[, tuple]) -> string #函数的格式使用 Convert a time tuple to a string according to a format specification.
See the library reference manual for formatting codes. When the time tuple
is not present, current time as returned by localtime() is used. Commonly used format codes: %Y Year with century as a decimal number.
%m Month as a decimal number [01,12].
%d Day of the month as a decimal number [01,31].
%H Hour (24-hour clock) as a decimal number [00,23].
%M Minute as a decimal number [00,59].
%S Second as a decimal number [00,61].
%z Time zone offset from UTC.
%a Locale's abbreviated weekday name.
%A Locale's full weekday name.
%b Locale's abbreviated month name.
%B Locale's full month name.
%c Locale's appropriate date and time representation.
%I Hour (12-hour clock) as a decimal number [01,12].
%p Locale's equivalent of either AM or PM. Other codes may be available on your platform. See documentation for
the C library strftime function.
ld   #格式化元组的数据
Out[22]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=0) time.strftime("%Y-%m-%d %H:%M:%S", ld)
Out[25]: '2018-04-24 19:41:02' time.strftime("%Y-%m-%d %X", ld)
Out[26]: '2018-04-24 19:41:02' time.strftime("%Y-%m-%d %X %p", ld) #时间戳转换为格式化元组
Out[27]: '2018-04-24 19:41:02 PM' #字符串转换为格式化元组,注意格式对应
time.strptime('2018-04-24 19:41:02 PM',"%Y-%m-%d %H:%M:%S %p")
Out[32]: time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=19, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=114, tm_isdst=-1)

根据时间戳转换为字符格式

help(time.ctime)
Help on built-in function ctime in module time: ctime(...)
ctime(seconds) -> string Convert a time in seconds since the Epoch to a string in local time.
This is equivalent to asctime(localtime(seconds)). When the time tuple is
not present, current time as returned by localtime() is used. time.ctime(time.time())
Out[34]: 'Tue Apr 24 20:02:46 2018'

根据struct_time格式的元组转换为字符串

help(time.asctime)
Help on built-in function asctime in module time: asctime(...)
asctime([tuple]) -> string Convert a time tuple to a string, e.g. 'Sat Jun 06 16:26:11 1998'.
When the time tuple is not present, current time as returned by localtime()
is used. time.asctime(ld)
Out[36]: 'Tue Apr 24 19:41:02 2018'

datetime模块

dateimte模块对time模块进行了封装,提供了更多功能的接口:

在csdn上看到一个博客,讲的蛮详细的,博主禁止转载,因此附上链接。datetime模块

python的时间处理-time模块的更多相关文章

  1. Python之时间:datetime模块

    datetime在time基础之上封装了一些方法.但是time是经常使用的,datetime中的功能,time都能实现 一.datetime的三个模块 datetime.date datetime.t ...

  2. Python之时间:time模块

    import time   对于时间,使用最频繁的模块 1.获取当前时间 (1)时间戳 time.time() 时间戳:从1970年1月1日0点开始到现在按秒计算的偏移量 (2)时间元组 time.l ...

  3. Python之时间和日期模块

    1.import time 先要导入时间模块 1)time.time()得到当前的时间,返回的是时间戳,表示自1970年1月1日起到程序运行时的秒数 import time print(time.ti ...

  4. python之时间处理time模块

    import time import datetime ''' print(time.time()) #返回当前系统时间戳 print(time.ctime()) #返回当前系统时间 print(ti ...

  5. Python之时间:calender模块(日历)

    import calendar 1.星期 (1)calendar.day_name 星期的全称 print calendar.day_name for i in calendar.day_name: ...

  6. Python日期时间Date/Time

    Python程序可以处理多种方式的日期和时间.日期格式之间的转换是一种常见计算机的杂活. Python的时间和日历模块,能帮助处理日期和时间. Tick是什么? 为时间间隔,以秒为单位的浮点数.从“新 ...

  7. python 统计时间,写日志

    python 统计时间使用time模块,写日志使用logging模块,这两个都是标准模板. 测试socket使用socket模块 # 统计时间 ---------------------- impor ...

  8. Python的时间模块小结(转自:不懂真人)

    import datetimeprint time.time() #时间戳 print time.localtime(time.time()) #时间元组 print time.strftime('% ...

  9. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

随机推荐

  1. [CentOS_7.4]Linux安装与网络配置

    一 安装 官网下载ISO安装文件:https://www.centos.org/download/ 然后自行安装. 二 配置网络 a.配置动态ip 1 2 3 1)# vi /etc/sysconfi ...

  2. 七种RAID技术

    想把好多硬盘组在一起使用的基本方式为:连接所有硬盘,先向第一个硬盘中写数据,满了之后,再向第二个硬盘上写数据,如此只是简单的连通了多个硬盘. 再此基础上发展了RAID技术:由独立磁盘组成的具有冗余特性 ...

  3. 【紫书】Rails UVA - 514 栈

    题意:判断出栈顺序是否合法 题解:两个指针,A指向入栈序列,B指向出栈. 的分三种情况:if     1.A==B :直接入栈加出栈即可A++,B++ else 2.和栈顶相同,直接出栈A==stac ...

  4. HDFS文件上传

    下图描述了Client向HDFS上传一个200M大小的日志文件的大致过程: 1)首先,Client发起文件上传请求,即通过RPC与NameNode建立通讯. 2)NameNode与各DataNode使 ...

  5. IntelliJ IDEA 2018.3注册码

    修改hosts windows,打开C:/Windows/System32/drivers/etc/hosts linux打开 vi /etc/hosts 输入: 0.0.0.0 account.je ...

  6. mybatis parameterType和resultType的顺序问题

    有一次在写java web后端的代码中发现了一个问题,那就是我将parameterType放在resultType之前的时候,发现程序启动的时候突然报错,说找不到某某map,我也不知道,所以感觉非常怪 ...

  7. Linux新建用户 useradd&groupadd

    建立一个新组,并设置组ID加入系统:#groupadd -g 1000 sparkgroup #useradd -u 2000 -g sparkgroup sparkuser #mkdir -p /a ...

  8. javaScript高级教程(五) Event Flow

    1.两个阶段三个模型:Netscape支持事件捕获,IE支持事件冒泡,w3c是先捕获后冒泡 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 S ...

  9. Java并发包中CyclicBarrier的源码分析和使用

    CyclicBarrier的介绍和源码分析 CyclicBarrier的字母意思是可循环(Cyclic)使用的屏障(Barrier).它要做的事情是,让一组线程到达一个屏障(也可以叫做同步点)时被阻塞 ...

  10. NYOJ 275 队花的烦恼一

    队花的烦恼一 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描写叙述 ACM队的队花C小+常常抱怨:"C语言中的格式输出中有十六.十.八进制输出,然而却没有二进制输 ...