Python基础08-时间日历

2018-05-06  本文已影响16人  Jacob_LJ

Python基础-时间日历

1. time 模块

1.1 获取当前时间戳

import time
time.time() 

1.2 获取时间元组

序号 含义 属性
0 4位数 年 tm_year 2008
1 tm_mon 1 - 12
2 tm_mday 1 - 31
3 小时 tm_hour 0 - 23
4 分钟 tm_min 0 - 59
5 tm_sec 0 - 61(60 或 61是闰秒)
6 一周的第几日 tm_wday 0 - 6 (0 是周日)
7 一年的第几日 tm_yday 1 - 366 (儒略历)
8 夏令时 tm_isdst -1, 0, 1 -1是决定是否是夏令时的标记
import time
time.localtime([seconds])
* seconds 可选的时间戳,默认值为当前时间戳

print(localtime())
>>> time.struct_time(tm_year=2018, tm_mon=5, tm_mday=6, tm_hour=19, tm_min=25, tm_sec=34, tm_wday=6, tm_yday=126, tm_isdst=0)

1.3 获取格式化的时间

import time
time.ctime([seconds])

eg.
t = time.time()
result = time.ctime(t)
print(result)
>>> Sun May  6 19:35:15 2018
import time
time.asctime([p_tuple])
* p_tuple:可选的时间元组,默认当前时间元组

time_tuple = time.localtime()
result = time.asctime(time_tuple)
print(result)
>>> Sun May  6 19:38:20 2018

1.4 格式化日期字符串 < -- > 时间戳

time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
>>> 2017-09-02 17:21:00
pt = time.strptime("17-09-06 08:57:17", "%y-%m-%d %H:%M:%S")
t = time.mktime(pt)
格式符 表达
%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 当前时区的名称

1.5 获取当前 CPU 时间

start = time.clock()
for i in range(0, 10000):
  print(i)
end = time.clock()
print(end - start)

1.6 休眠 n 秒

while True:
     result = time.strftime("%y===%m-%d %H:%M:%S", time.localtime())
     print(result)
     time.sleep(1)

2. calendar 模块

2.1 获取某月日历

import calendar
c = calendar.month(2018, 5)
print(c)

>>>

      May 2018
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

3. datetime 模块

3.1 获取当天日期

import datetime
n = datetime.datetime.now()
t = datetime.datetime.today()
print(n)
print(t)

3.2 单独获取当前的年月日时分秒

import datetime
t = datetime.datetime.today()

print(type(t))

print(t.year)
print(t.month)
print(t.day)
print(t.hour)
print(t.minute)
print(t.second)

3.3 计算 n 天之后的日期

import datetime

t = datetime.datetime.today()
result = t + datetime.timedelta(days=7)
print(t, result)

3.4 获取两个日期时间的时间差

import datetime
first = datetime.datetime(2017, 9, 2, 12, 00, 00)
second = datetime.datetime(2017, 9, 3, 12, 00, 00)
# print(first, type(first))

delta = second - first
print(delta, type(delta)) 
print(delta.total_seconds())

>>>

1 day, 0:00:00 <class 'datetime.timedelta'>
86400.0
上一篇 下一篇

猜你喜欢

热点阅读