美文网首页
Python基础08-时间日历

Python基础08-时间日历

作者: Jacob_LJ | 来源:发表于2018-05-06 20:35 被阅读16次

Python基础-时间日历

1. time 模块

  • 提供 处理时间 和 展示时间 之间转换的功能

1.1 获取当前时间戳

  • 时间戳:从0逝去的1970年1月1日0时0分0秒,到所给定日期时间的秒数
  • 时间戳是一个 浮点数
  • 获取方式
import time
time.time() 

1.2 获取时间元组

  • 一般python时间函数将时间处理为9个数字的元祖
  • 图解
序号 含义 属性
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 获取格式化的时间

  • 秒 -> 可读时间
    1525606536.934186 转为 Sun May 6 19:35:15 2018
import time
time.ctime([seconds])

eg.
t = time.time()
result = time.ctime(t)
print(result)
>>> Sun May  6 19:35:15 2018
  • 时间元组 -> 可读时间
    time.struct_time(tm_year=2018, tm_mon=5, tm_mday=6, tm_hour=19, tm_min=38, tm_sec=20, tm_wday=6, tm_yday=126, tm_isdst=0) 转为 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(格式字符串,时间元组):sting + format + time
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
>>> 2017-09-02 17:21:00
  • 格式化日期 -> 时间元组
  • time.strptime()
pt = time.strptime("17-09-06 08:57:17", "%y-%m-%d %H:%M:%S")
  • 时间元组 -> 时间戳
  • time.mktime
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 时间

  • time.clock(),返回浮点数的秒数
  • 一般用于统计代码执行时间
start = time.clock()
for i in range(0, 10000):
  print(i)
end = time.clock()
print(end - start)

1.6 休眠 n 秒

  • 推迟线程的执行,可简单理解为,让程序暂停
  • time.sleep(secs)
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 模块

  • python 处理日期和时间的标准库
  • 常用 datetime 类,及 date 类 和 time 类
  • 可做计算之类的操作

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

相关文章

  • Python基础08-时间日历

    1. time 模块 提供 处理时间 和 展示时间 之间转换的功能 1.1 获取当前时间戳 时间戳:从0逝去的19...

  • python学习计划大全(从入门到实战)

    第一阶段-语言基础(15天) python基础语法 python字符串解析 python时间和日历 python文...

  • python的学习方向

    我的学习计划: 1、Python基础语法、python字符串解析、python时间和日历、python文件操作,数...

  • Python基础(九): 时间日历

    Python 程序能用很多方式处理日期和时间, 转换日期格式是一个常见的功能 time模块: 提供了处理时间和表示...

  • python基础篇08-函数

    函数:就是功能的封装体 1.函数名就是标识符 遵循标识符的命名规则 (小驼峰)2.参数:可以写 也可以不写 参数:...

  • python基础-08-文件 | 模块

    1 文件概述 持久化操作即文件操作数据库底层操作仍然是文件IO文本文件存储字符,可用记事本打开,默认使用Unico...

  • Python-时间日历

    备注:本文学习整理自菜鸟教程 一、简介 Python中使用time和calendar模块格式化日期和时间 使用时需...

  • python中周日历与时间的相互转换

    python中周日历与时间的相互转换 周日历(ISO国际标准)介绍[https://juejin.cn/post/...

  • python对时间序列的处理

    简单介绍python处理时间。 基础python处理时间与日期 python基本的处理时间对象是datetime模...

  • 使用Flask制作美观的网页日历

    Python Calender模块 python的日历模块Calender提供了多种日历展示模式: 基本的就是上面...

网友评论

      本文标题:Python基础08-时间日历

      本文链接:https://www.haomeiwen.com/subject/howurftx.html