文章目录
1.时间表示的几种类型
1.1 时间戳
time.time()
>>> import time
>>> time.time()
1569852362.1933446
1.2 字符串时间
time.ctime()
>>> time.ctime()
'Mon Sep 30 22:07:28 2019'
1.3 元组类型的时间
time.localtime()
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=22, tm_min=8, tm_sec=1, tm_wday=0, tm_yday=273, tm_isdst=0)
>>> intime=time.localtime()
>>> intime.tm_year
2019
>>> intime.tm_mon
9
>>> intime.tm_mday
30
>>> intime.tm_hour
22
>>> intime.tm_min
18
>>> intime.tm_sec
39
2.常用时间类型转换
2.1 元组时间转换为时间戳
time.mktime()
>>> tuple_time=time.localtime()
>>> tuple_time
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=22, tm_min=9, tm_sec=34, tm_wday=0, tm_yday=273, tm_isdst=0)
>>> time.mktime(tuple_time)
1569852574.0
2.2 元组时间转换为字符串时间
time.strftime()
>>> time.strftime('%d-%m',tuple_time)
'30-09'
>>> time.strftime('%Y/%m/%d',tuple_time)
'2019/09/30'
>>> time.strftime('%T',tuple_time)
'22:09:34'
>>> time.strftime('%F',tuple_time)
'2019-09-30'
>>>
2.3 时间戳转换为字符串时间
time.ctime()
>>> pwd_time=time.time()
>>> pwd_time
1569852916.4940915
>>> time.ctime(pwd_time)
'Mon Sep 30 22:15:16 2019'
2.4 时间戳转换为元组时间
time.localtime()
>>> time.localtime(pwd_time)
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=22, tm_min=15, tm_sec=16, tm_wday=0, tm_yday=273, tm_isdst=0)
3.应用案例—系统监控
需求:
1.获取当前主机信息 包含操作系统名 主机名 内核版本 硬件架构
2.获取开机时间和开机时长
3.获取当前登陆的用户
import os
from datetime import datetime
import psutil
print('主机信息'.center(50,'*'))
info = os.uname()
print(
"""
操作系统:%s,
主机名称:%s,
内核版本:%s,
硬件架构:%s
""" %(info.sysname,info.nodename,info.release,
info.machine)
)
print('开机信息'.center(50,'*'))
boot_time = psutil.boot_time() #返回一个时间戳
# 将时间戳转化为datetime类型的时间
boot_time_obj = datetime.fromtimestamp(boot_time)
print(boot_time_obj)
now_time = datetime.now()
print(now_time)
#delta_time = datetime.now()
delta_time = now_time - boot_time_obj
print(delta_time)
print('开机时间:',boot_time_obj)
print('当前时间:',str(now_time).split('.')[0])
print('开机时长:',str(delta_time).split('.')[0])
print('当前登陆用户'.center(50,'*'))
login_user = psutil.users()
print(login_user)
info = psutil.users()[0]
print(info.name)