时间模块的运用

时间模块
#  ***********************1. 时间表示的几种类型 ********************
#  1). 时间戳
#  2). 字符串的时间
#  3). 元组类型的时间
import os
import time
from datetime import  date
# from datetime import  time
from datetime import  datetime

# 1). 时间戳
print(time.time())

#  2). 字符串的时间
print(time.ctime())

#  3). 元组类型的时间
print(time.localtime())
info = time.localtime()
print(info.tm_year)
print(info.tm_yday)


#*********2.如何对于不同时间类型的转换***********
# 将时间戳类型转换为字符串的时间
pwd_time=os.path.getmtime('/etc/passwd')
print(pwd_time)
print('转化为字符串的时间',time.ctime(pwd_time))

# 将时间戳类型转换为元组类型
print('转化为元组类型的时间',time.localtime(pwd_time))

# 将元组类型时间转换为时间戳
tuple_time = time.localtime()
print('转化为时间戳的时间',time.mktime(tuple_time))

# 将元组的时间转换为字符串时间#Y:year m:month d:day H:hours M:mintinue S:seconds
tuple_time = time.localtime()
print(time.strftime('%Y-%m-%d', tuple_time))
print(time.strftime('%Y-%m-%d %H:%M:%S', tuple_time))

# 将字符串的时间转换为元组
mytime = "2019/01/15"
print(time.strptime(mytime, '%Y/%m/%d'))

在这里插入图片描述

datetime计算时间间隔以及时间对象的转换

import os
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

#计算三天前的时间和三天后的时间
d=date.today()
print('当前时间',d)
delta=timedelta(days=3)
print('三天前的时间',d-delta)
print('三天后的时间',d+delta)

#计算两个小时之前的时间和两个小时之后的时间
now=datetime.now()
print('当前时间',now)
delta=timedelta(hours=2)
print('两个小时之前的时间',now-delta)
print('两个小时之后的时间',now+delta)

#  返回两个时间,计算两个时间之间的时间差
now_time=datetime.now()     #时间对象
other_time=os.path.getmtime('/etc/passwd')  #时间戳
#把时间戳变成时间对象
other_time_obj=datetime.fromtimestamp(other_time)
delta=now_time-other_time_obj
print('时间差为',delta)

在这里插入图片描述

时间模块在系统监控的运用
需求:
    1. 获取当前主机信息, 包含操作系统名, 主机名, 内核版本, 硬件架构等
    2. 获取开机时间和开机时长;
    3. 获取当前登陆用户



import os
from datetime import datetime

import psutil as 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() #时间戳
#将时间戳转换为时间对象
boot_time_obj=datetime.fromtimestamp(boot_time)
now_time=datetime.now()
delta=now_time-boot_time_obj
print("开机时间: ",boot_time_obj)
print("开机时长: ", str(delta).split('.')[0])    # split分离是为了去掉毫秒
print("当前时间: ", str(now_time).split('.')[0])

print('当前登陆用户'.center(50, '*'))
login_users=psutil.users()
# 集合生成式实现去重
print('当前用户信息',{user.name for user in login_users})

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GLH_2236504154/article/details/87119849