时间

  • 时间日历
  • time模块
  • calendar模块
  • datetime模块


时间日历

Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。

time模块

1. 提供了处理时间和表示之间转换的功能
		2.获取当前时间戳
			概念
				从0时区的1970年1月1日0时0分0秒, 到所给定日期时间的**秒数**
				浮点数
			获取方式
				import time
				time.time()
				years = result / (24*60*60*365) + 1970
		3.获取时间元组
			概念
				很多python时间函数将时间处理为9个数字的元组			
			获取方式
				import time
				time.localtime([seconds])
					seconds
						为可选的时间戳
						默认当前时间戳
		4.获取格式化的时间
			秒 -> 可读时间
				import time
				time.ctime([seconds])
					seconds
						可选的时间戳
						默认当前时间戳
			时间元组 -> 可读时间
				import time
				time.asctime([p_tuple])
					p_tuple
						可选的时间元组
						默认当前时间元组
		5.格式化日期字符串 <--> 时间戳
			1).时间元组 -> 格式化日期
				time.strftime(格式字符串, 时间元组)
				例如
					time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
					2017-09-02 17:21:00
					time.strftime("%y-%m-%d %H:%M:%S", time.localtime())
					21-04-09 22:36:16
			2).格式化日期 -> 时间元组
				time.strptime(日期字符串, 格式符字符串)
				time.mktime(时间元组)
				例如
					time.mktime(time.strptime("2017-09-02 17:21:00", "%Y-%m-%d %H:%M:%S"))
					#time.strptime("2017-09-02 17:21:00", "%Y-%m-%d %H:%M:%S")生成的是时间元组
					1504344060.0
			3).常用格式符
				%y 两位数的年份表示(00-99)
				%Y 四位数的年份表示(000-9999)
				%m 月份(01-12)
				%d 月内中的一天(0-31)
				%H 24小时制小时数(0-23)
				%I 12小时制小时数(01-12)
				%M 分钟数(00=59)
				%S 秒(00-59)
				%a 本地简化星期名称
				%A 本地完整星期名称
				%b 本地简化的月份名称
				%B 本地完整的月份名称
				%c 本地相应的日期表示和时间表示
				%j 年内的一天(001-366)
				%p 本地A.M.或P.M.的等价符
				%U 一年中的星期数(00-53)星期天为星期的开始
				%w 星期(0-6),星期天为星期的开始
				%W 一年中的星期数(00-53)星期一为星期的开始
				%x 本地相应的日期表示
				%X 本地相应的时间表示
				%Z 当前时区的名称
				%% %号本身
		6.获取当前CPU时间
			start = time.clock( )
			end = time.clock( )
			print(end - start)
				浮点数的秒数
			**可用来统计一段程序代码的执行耗时**
		7.休眠n秒
			推迟线程的执行, 可简单理解为, 让程序暂停
			time.sleep(secs)
			secs为休眠的秒数

calendar模块

1.提供与日历相关的功能,比如: 为给定的月份或年份打印文本日历的功能
		获取某月日历
			import calendar
			calendar.month(2017, 9)

datetime模块

1.Python处理日期和时间的标准库
			这个模块里面有datetime类,此外常用的还有date类,以及time类
			可以做一些计算之类的操作
		2.获取当天日期
			import datetime
			print(datetime.datetime.now())
			print(datetime.datetime.today())
		3.**单独获取当前的年月日时分秒**
			datetime对象里面的一些属性
			t = datetime.datetime.now()
			t.year #获取当前年
				year
				month
				day
				hour
				minute
				second
		4.计算n天之后的日期
			import datetime
			#timedelta    是时间增量
			result = datetime.datetime.today() + datetime.timedelta(days = 7)
			print(result)			
		5.获取两个日期时间的时间差 
			import datetime
			first = datetime.datetime(2017, 9, 1, 12, 0, 0)
			second = datetime.datetime(2017, 9, 2, 12, 0, 0)
			result = second - first
			print(result.total_seconds())