python中time,datetime模块常用方法总结
2017-12-27 10:45
696 查看
转载:https://www.cnblogs.com/sunshineyang/p/6818834.html
(1)未提供secs参数时,按当前时间为准
(2)提供secs为当前时间戳时
4.time.strftime(format[, t])
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
(1)t 未指定,传入time.localtime()作为默认参数:
6.time.mktime(t)
将一个struct_time转换为时间戳,如下time.localtime接收一个时间戳返回一个struct_time,而time.mktime接收一个struct_time,返回一个时间戳
[b]datetime 模块常用方法
主要有下面这四个类:
1. datetime.date: 是指年月日构成的日期(相当于日历)
2. datetime.time: 是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)
3. datetime.datetime: 上面两个合在一起,既包含时间又包含日期
4. datetime.timedelta: 时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
1.datetime.date 类
1. 新建一个date对象,日期为今天,既可以直接调用datetime.date.today(),也可以直接向datetime.date()传值,如下:
2.datetime.date.strftime(format) 格式化为需要的时间,如常用的 “年-月-日 小时:分钟:秒” 格式
3.datetime.date.timple() 转成struct_time格式,这样传递给time.mktime(t) 后,直接转成时间戳格式
4.datetime.date.replace(year,month, day) 返回一个替换后的date对象
5.datetime.date.fromtimestamp(timestamp)将时间戳转化为date对象
In [8]: t = datetime.date(2017,8,15)
In [8]: t
Out[8]: datetime.time(8, 45, 20)
2.datetime.time.(format)格式化输出
time对应的年、月、日为1900、01、01,纪元年的那个时间
3.datetime.time.replace([hour[, minute[, second[,microsecond[, tzinfo]]]]]) 返回一个替换后的time对象
1.新建一个datetime对象,日期为今天,既可以直接调用datetime.datetime.today(),也可以直接向datetime.datetime()传值,如下:
2.datetime.datetime.now([tz]) 当不指定时区时,和datetime.datetime.today()是一样的结果,如下
3.datetime.datetime.strftime(format) 格式化为需要的时间,如常用的 “年-月-日 小时:分钟:秒” 格式
4.datetime.datetime.timple() 转成struct_time格式,这样传递给time.mktime(t) 后,直接转成时间戳格式
5.datetime.datetime.replace(year, month, day) 返回一个替换后的date对象
6.datetime.datetime.fromtimestamp(timestamp) 将时间戳转化为datetime对象
time 模块常用方法
1.time.clock()
这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间 戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32 上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)budong@budongdeMacBook-Pro:/tmp$ cat clock.py #!/usr/bin/env python import time if __name__ == '__main__': time.sleep(1) print "clock1:%s" % time.clock() time.sleep(1) print "clock2:%s" % time.clock() time.sleep(1) print "clock3:%s" % time.clock() 运行脚本: budong@budongdeMacBook-Pro:/tmp$ ./clock.py clock1:0.059173 clock2:0.059299 clock3:0.059416
2.time.sleep(secs)
线程推迟指定的时间运行,适合放在脚本里,定时sleep一会然后再继续。In [1]: while True: .....: time.sleep(3) .....: print time.strftime('%H:%M:%S') .....: 17:21:35 17:21:38 17:21:41 17:21:44 ……
3.time.localtime([secs])
将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准。(1)未提供secs参数时,按当前时间为准
In [2]: time.localtime() Out[2]: time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=17, tm_min=23, tm_sec=48, tm_wday=3, tm_yday=226, tm_isdst=0)
(2)提供secs为当前时间戳时
In [3]: time.time() Out[3]: 1408008232.217969 In [4]: time.localtime(time.time()) Out[4]: time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=17, tm_min=24, tm_sec=2, tm_wday=3, tm_yday=226, tm_isdst=0)
4.time.strftime(format[, t])
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出(1)t 未指定,传入time.localtime()作为默认参数:
In [5]: time.strftime('%Y-%m-%d %H:%M:%S') Out[5]: '2017-12-27 17:28:16’(2)指定 t 为time.localtime(1407945600.0)时:
In [6]: time.localtime(1407945600.0) Out[6]: time.struct_time(tm_year=2014, tm_mon=8, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=226, tm_isdst=0) In [7]: time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1407945600.0)) Out[7]: '2014-08-14 00:00:00’
5.time.time()
返回当前时间的时间戳In [8]: time.time() Out[8]: 1408008711.730218
6.time.mktime(t)
将一个struct_time转换为时间戳,如下time.localtime接收一个时间戳返回一个struct_time,而time.mktime接收一个struct_time,返回一个时间戳In [9]: time.localtime(1407945600.0) Out[9]: time.struct_time(tm_year=2014, tm_mon=8, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=226, tm_isdst=0) In [10]: time.mktime(time.localtime(1407945600.0)) Out[10]: 1407945600.0
[b]datetime 模块常用方法
[/b]
主要有下面这四个类:1. datetime.date: 是指年月日构成的日期(相当于日历)
2. datetime.time: 是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)
3. datetime.datetime: 上面两个合在一起,既包含时间又包含日期
4. datetime.timedelta: 时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
1. 新建一个date对象,日期为今天,既可以直接调用datetime.date.today(),也可以直接向datetime.date()传值,如下:
In [1]: today = datetime.date.today() In [1]: today Out[1]: datetime.date(2017, 12, 27) In [2]: t = datetime.date(2017,8,15) In [2]: t Out[2]: datetime.date(2017, 8, 15)
2.datetime.date.strftime(format) 格式化为需要的时间,如常用的 “年-月-日 小时:分钟:秒” 格式
In [3]: today.strftime('%Y-%m-%d %H:%M:%S') Out[3]: '2017-12-27 00:00:00’date对象中小时、分钟、秒默认都是0,纪元年的那个时间
3.datetime.date.timple() 转成struct_time格式,这样传递给time.mktime(t) 后,直接转成时间戳格式
In [4]: today.timetuple() Out[4]: time.struct_time(tm_year=2017, tm_mon=12, tm_mday=27, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=361, tm_isdst=-1) In [5]: time.mktime(today.timetuple()) Out[5]: 1514304000
4.datetime.date.replace(year,month, day) 返回一个替换后的date对象
In [6]: today.replace(year=2013) Out[6]: datetime.date(2013, 12, 27)
5.datetime.date.fromtimestamp(timestamp)将时间戳转化为date对象
In [7]: datetime.date.fromtimestamp(1514304000) Out[7]: datetime.date(2017, 12, 27)
2.datetime.time 类
1.新建一个time对象In [8]: t = datetime.date(2017,8,15)
In [8]: t
Out[8]: datetime.time(8, 45, 20)
2.datetime.time.(format)格式化输出
In [9]: t.strftime('%Y-%m-%d %H:%M:%S') Out[9]: '1900-01-01 08:45:20’
time对应的年、月、日为1900、01、01,纪元年的那个时间
3.datetime.time.replace([hour[, minute[, second[,microsecond[, tzinfo]]]]]) 返回一个替换后的time对象
In [10]: t.replace(hour=9) Out[10]: datetime.time(9, 45, 20)
3.datetime.datetime类
其实和date的那些方法差不多了,大概看以下,简单说说1.新建一个datetime对象,日期为今天,既可以直接调用datetime.datetime.today(),也可以直接向datetime.datetime()传值,如下:
In [11]: d1 = datetime.datetime.today() In [11]: d1 Out[11]: datetime.datetime(2014, 8, 15, 8, 12, 34,790945) In [22]: d2 = datetime.datetime(2014, 8, 15, 8, 12, 34,790945) In [22]: d2 Out[22]: datetime.datetime(2014, 8, 15, 8, 12, 34,790945)
2.datetime.datetime.now([tz]) 当不指定时区时,和datetime.datetime.today()是一样的结果,如下
In [23]: datetime.datetime.now() Out[23]: datetime.datetime(2014, 8, 15, 8, 14, 50,738672)
3.datetime.datetime.strftime(format) 格式化为需要的时间,如常用的 “年-月-日 小时:分钟:秒” 格式
In [24]: d1 Out[24]: datetime.datetime(2014, 8, 15, 8, 12, 34,790945) In [25]: d1.strftime('%Y-%m-%d %H:%M:%S') Out[25]: '2014-08-15 08:12:34’
4.datetime.datetime.timple() 转成struct_time格式,这样传递给time.mktime(t) 后,直接转成时间戳格式
In [26]: d 4000 1 Out[26]: datetime.datetime(2014, 8, 15, 8, 12, 34,790945) In [27]: d1.timetuple() Out[27]: time.struct_time(tm_year=2014, tm_mon=8,tm_mday=15, tm_hour=8, tm_min=12, tm_sec=34, tm_wday=4, tm_yday=227, tm_isdst=-1) In [28]: time.mktime(d1.timetuple()) Out[28]: 1408061554.0
5.datetime.datetime.replace(year, month, day) 返回一个替换后的date对象
In [29]: d1 Out[29]: datetime.datetime(2014, 8, 15, 8, 12, 34,790945) In [30]: d1.replace(year=2000) Out[30]: datetime.datetime(2000, 8, 15, 8, 12, 34,790945)
6.datetime.datetime.fromtimestamp(timestamp) 将时间戳转化为datetime对象
In [34]: time.time() Out[34]: 1408061894.081552 In [35]: datetime.datetime.fromtimestamp(1408061894) Out[35]: datetime.datetime(2014, 8, 15, 8, 18, 14)
4.datetime.timedelta类
没啥好说的,主要做时间的加减法用,如下:In [36]: today = datetime.datetime.today() In [36]: yesterday = today - datetime.timedelta(days=1) In [36]: yesterday Out[36]: datetime.datetime(2014, 8, 14, 15, 8, 25,783471) In [37]: today Out[37]: datetime.datetime(2014, 8, 15, 15, 8, 25,783471)
相关文章推荐
- python 中datetime、time、calendar模块中常用的方法
- python学习(一)----os模块中常用方法总结
- python中os和sys模块的区别与常用方法总结
- Python时间模块datetime、time、calendar的使用方法
- Python基础—10-常用模块:time,calendar,datetime
- python3中,os.path模块下常用的方法总结
- python 中random模块的常用方法总结
- Python中的time模块与datetime模块用法总结
- python3 os模块的常用功能及方法总结
- Python time datetime常用时间处理方法
- Python时间模块datetime、time、calendar的使用方法
- Python的time模块中的常用方法整理
- python time datetime模块使用方法记录
- Python中time,datetime模块的常见使用方法
- Python常用模块-时间模块(time&datetime)
- Python中time模块和datetime模块的常用操作以及几种常用时间格式间的转换
- Python的time模块中的常用方法整理
- python3 os模块文件、目录常用函数方法总结
- Python 常用内建模块(time ,datetime)
- python常用模块-time,datetime