python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
datetime模块
datetime是python处理日期和时间的标准库。
注意:datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类;
如果仅导入import datetime,则必须引用全名datetime.datetime。
from datetime import datetime
now = datetime.now()
datetime.now()返回当前日期和时间,其类型是datetime,用变量now来接收。
获取指定日期和时间:
要指定某个日期和时间,我们直接用参数构造一个datetime;
参数的顺序是:年,月,日,小时,分钟,秒,微秒(最少到日,后面默认为0)
from datetime import datetime
dt = datetime(2019,1,23)#定义dt时间为2019年1月23日 00:00:00
datetime转换为timestamp时间戳 :
在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。
将datetime类型转换为timestamp只需要简单调用timestamp()方法:
st = dt.timestamp( )转化为时间戳类型#st为浮点数,没有时区概念,而datetime是有时区的。加UTC统一标准
dt = datetime.fromtimestamp(st) 转化为datetime 类型
str字符串转换为datetime:
from datetime import datetime
cday = datetime.strptime("2019-01-23 22:44:00","%Y-%m-%d %H:%M:%S")
datetime转化为str
now = datetime.now( )
strf = now.strftime("%Y-%m-%d %H:%M:%S")
datetime加减:对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime;加减可以直接用+和-运算符,不过需要导入timedelta这个类。
获取当前的日期和时间
获取当前日期的星期
now.weekday( )是获取当前星期几,星期一是0,星期天是6。
now.isoweekday()也是可以的,星期一是1,星期天是7。
now.timetuple(),返回一个time结构
now.date(),返回一个date类型
now.time(),返回一个time类型
time模块中的sleep是睡眠的意思,单位秒
import time
while True:
print("CSDN")
time.sleep(1)#循环每隔一秒执行一次,打印CSDN