- 时间日历
- Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
常用操作
- time模块
- 提供了处理时间和表示之间转换的功能
- 获取当前时间戳
概念:从0时区的1970年1月1日0时0分0秒, 到所给定日期时间的秒数
浮点数
获取方式 import time
time.time()
- 获取时间元组
概念: 很多python时间函数将时间处理为9个数字的元组
图解
获取方式
import time
time.localtime([seconds])
seconds
可选的时间戳 默认当前时间戳
- 获取格式化的时间
秒 -> 可读时间
import time
time.ctime([seconds])
seconds
可选的时间戳 默认当前时间戳
- 时间元组 -> 可读时间
import time
time.asctime([p_tuple])
p_tuple
可选的时间元组 默认当前时间元组
- 格式化日期字符串 <–> 时间戳
时间元组 -> 格式化日期
time.strftime(格式字符串, 时间元组)
例如 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 2017-09-02 17:21:00
- 格式化日期 -> 时间元组
time.strptime(日期字符串, 格式符字符串)
time.mktime(时间元组)
例如 time.mktime(time.strptime("2017-09-02 17:21:00", "%Y-%m-%d %H:%M:%S")) 1504344060.0
常用格式符
格式字母 | 表示 |
---|---|
%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 | 当前时区的名称 |
%% | %号本身 |
- 获取当前CPU时间
time.clock( )
浮点数的秒数
可用来统计一段程序代码的执行耗时 - 休眠n秒
推迟线程的执行, 可简单理解为, 让程序暂停
time.sleep(secs)
- calendar模块
- 提供与日历相关的功能,比如: 为给定的月份或年份打印文本日历的功能
获取某月日历
import calendar
calendar.month(2017, 9)
- datetime模块
-
Python处理日期和时间的标准库
这个模块里面有datetime类,此外常用的还有date类,以及time类
可以做一些计算之类的操作
-
获取当天日期
import datetime
print(datetime.datetime.now())
print(datetime.datetime.today()) -
单独获取当前的年月日时分秒
datetime对象里面的一些属性
year
month
day
hour
minute
second -
计算n天之后的日期
import datetime
result = datetime.datetime.today() + datetime.timedelta(days = 7)
print(result) -
获取两个日期时间的时间差
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())