1,datetime模块介绍
datetime模块主要是对日期、时间和时间戳的处理。
1 | import datetime #导入模块(名词空间) |
1535529464.27439
1 | a = datetime.datetime.fromtimestamp(1535529464.27439) #从时间戳返回一个datetime对象 |
datetime.datetime
构造datetime对象
1 | b = datetime.datetime(1993,1,1) |
datetime.datetime(1993, 1, 1, 0, 0)
取datetime对象的属性
1 | b.microsecond #取year month day hour minute second microsecond b这个对象的属性 |
0
1 | b1 = b.weekday() #判断b是星球几,weekday()是函数,星期一是0 |
4
5
返回date()对象
1 | b.date() |
datetime.date(1993, 1, 1)
返回time()对象
1 | b.time() |
datetime.time(0, 0)
修改datetime对象
1 | b.replace(2000,1,1) #返回一个新的对象 |
datetime.datetime(2000, 1, 1, 0, 0)
2,日期格式化
类方法
strptime(date_string,format)返回datetime对象
1 | import datetime |
datetime.datetime(2011, 11, 21, 17, 23)
strptime是datetime.datetime类的方法,所以需要指定时间和格式。
对象方法
strftime(format)返回字符串
1 | print(dt.strftime("%Y-%m-%d %H:%M:%S")) |
2011-11-21 17:23:00
strftime(format)是对象的方法,仅仅需要指定格式。返回字符串。
字符串format函数格式化
.format()
1 | print("{0:%Y}/{0:%m}/{0:%d}::{0:%H}::{0:%M}::{0:%S}".format(dt)) |
2011/11/21::17::23::00
1 | print("{}/{}/{} {}:{}:{}".format(dt.year,dt.month,dt.day,dt.hour,dt.minute,dt.second)) ##建议写法 |
2011/11/21 17:23:0
1 | 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)
1 | import datetime |
2018-08-29 12:42:02.528002
2018-08-27 12:42:02.528058
1 | day.total_seconds() #total_seconds()将timedelta转换为秒数。 |
86400.0
4,python标准库time
time.sleep(secs) #参数为秒数,表示将当前进程挂起的秒数。
其他与时候相关的建议使用datetime标准库。