一、时间格式的转化
1. 时间的转化
import time
s = '2019-7-14'
print(time.strptime(s,'%Y-%m-%d'))
s_time = '09:00:00'
print(time.strptime(s_time,'%H:%M:%S'))
2. 把元组的时间转换为时间戳
import time
tuple_time = time.localtime()
print(tuple_time)
print(time.mktime(tuple_time))
3. 把元组时间转换为字符串时间
import time
tuple_time = time.localtime()
print(time.strftime('%m-%d',tuple_time))
print(time.strftime('%Y-%m-%d',tuple_time))
print(time.strftime('%F',tuple_time))
print(time.strftime('%T',tuple_time))
4. 把时间戳类型转换为字符串时间
import time
import os
pwd_time = os.path.getctime('/etc/passwd')
print('pwd_time',pwd_time)
print(time.ctime(pwd_time))
5. 将时间戳转换为元组
import time
import os
pwd_time = os.path.getctime('/etc/passwd')
print(time.localtime(pwd_time))
6. 元组转换为时间戳
import time
tuple_time = time.localtime()
print(time.mktime(tuple_time))
二、datetime查询时间
1. 当前时间
from datetime import date
from datetime import datetime
print(date.today())
print(datetime.now())
2. 计算几天前的时间
from datetime import date
from datetime import timedelta
d = date.today()
delta = timedelta(days=3)
print(d + delta) #几天后
print(d - delta) #几天前
3. 计算几个小时前或后的时间
from datetime import datetime
from datetime import timedelta
now_time = datetime.now()
delta = timedelta(hours=2)
print(now_time)
print(now_time + delta) #几个小时后
print(now_time - delta) #几个小时前
4. 计算文件从修改到现在的时间
import os
from datetime import datetime
now_time = datetime.now()
print(now_time) #当前时间
pwd_time = os.path.getmtime('/etc/passwd')
print(pwd_time) #文件最后一次修改时间
pwd_time_obj = datetime.fromtimestamp(pwd_time)
print(pwd_time_obj) #转化为时间戳
delta = now_time - pwd_time_obj #文件从修改到现在的时间
print(delta)
练习:需求如下:
1.获取当前主机信息(操作系统名、主机名、内核版本、硬件架构)
2.获取开机时间和开机时长
3.获取当前登录用户
import os
import psutil
from datetime import datetime
print('主机信息'.center(50,'*'))
info = os.uname()
# print(info)
print(
"""
操作系统:%s
主机名称:%s
内核版本:%s
硬件架构:%s
""" %(info.sysname,info.nodename,info.release,info.machine)
)
print('开机信息'.center(50,'*'))
boot_time = psutil.boot_time() #返回一个时间戳
boot_time_obj = datetime.fromtimestamp(boot_time)
#当前时间
now_time = datetime.now()
delta_time1 = now_time - boot_time_obj
print('开机时间:',boot_time_obj)
print('当前时间:',str(now_time).split('.')[0])
print('开机时长:',str(delta_time1).split('.')[0])
print('当前登录用户'.center(50,'*'))
login_user = psutil.users()[0]
print(login_user.name)