1,datetime模块介绍
datetime模块主要是对日期、时间和时间戳的处理。
import datetime #导入模块(名词空间)
datetime.datetime.now() #获取当前时间 ==>返回一个对象
#说明:第一个datetime叫做名词空间,第二个datetime叫做类,now()返回一个对象。
#名词空间是存储对象的集合
#类方法相当于类的属性。
datetime.datetime.now().timestamp() #返回一个值
#timestamp()是将时间转换为微秒
#timestamp()是datetime.datetime.now()对象的一个方法。
1535529464.27439
a = datetime.datetime.fromtimestamp(1535529464.27439) #从时间戳返回一个datetime对象
type(a)
datetime.datetime
构造datetime对象
b = datetime.datetime(1993,1,1)
b
datetime.datetime(1993, 1, 1, 0, 0)
取datetime对象的属性
b.microsecond #取year month day hour minute second microsecond b这个对象的属性
0
b1 = b.weekday() #判断b是星球几,weekday()是函数,星期一是0
print(b1)
b2 = b.isoweekday() #判断b是星球几,weekday()是函数,星期一 是1 iso 国际化标准
print(b2)
4
5
返回date()对象
b.date()
datetime.date(1993, 1, 1)
返回time()对象
b.time()
datetime.time(0, 0)
修改datetime对象
b.replace(2000,1,1) #返回一个新的对象
datetime.datetime(2000, 1, 1, 0, 0)
2,日期格式化
类方法
strptime(date_string,format)返回datetime对象
import datetime
dt = datetime.datetime.strptime("21/11/11 17:23","%d/%m/%y %H:%M")
dt
datetime.datetime(2011, 11, 21, 17, 23)
strptime是datetime.datetime类的方法,所以需要指定时间和格式。
对象方法
strftime(format)返回字符串
print(dt.strftime("%Y-%m-%d %H:%M:%S"))
2011-11-21 17:23:00
strftime(format)是对象的方法,仅仅需要指定格式。返回字符串。
字符串format函数格式化
.format()
print("{0:%Y}/{0:%m}/{0:%d}::{0:%H}::{0:%M}::{0:%S}".format(dt))
2011/11/21::17::23::00
print("{}/{}/{} {}:{}:{}".format(dt.year,dt.month,dt.day,dt.hour,dt.minute,dt.second)) ##建议写法
2011/11/21 17:23:0
print("{0:%Y}/{0:%m}/{0:%d}".format(dt))
2011/11/21
3,timedelta对象
说明:
timedelta对象存储的是一个时间的差值。
一个时间对象可以去加或者减去这个时间对象从而得到一个新的时间对象。
构造方法:
datetime.timedelta(days=0,second=0,microseconds=0,minutes=0,hours=0,weeks=0)
import datetime
day=datetime.timedelta(days=1) #构造一个timedelta
day2 = datetime.timedelta(3)
new_time=datetime.datetime.now()-day #使用timedelta计算
new_time2=datetime.datetime.now() - day2
print(new_time)
print(new_time2) # datetime.timedelta(3) 如果不指定时间单位,默认单位为天。
2018-08-29 12:42:02.528002
2018-08-27 12:42:02.528058
day.total_seconds() #total_seconds()将timedelta转换为秒数。
86400.0
4,python标准库time
time.sleep(secs) #参数为秒数,表示将当前进程挂起的秒数。
其他与时候相关的建议使用datetime标准库。
更多欢迎访问:http://www.mykernel.cn/