python--时间模块

时间表示的几种类型

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)

如何对于不同时间类型的转换

#将时间戳类型转换为字符串的时间
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))

#将元组的时间转换为字符串时间
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'))

计算时间间隔

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

#print(date.today())
#print(datetime.now())

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

#如何计算两个小时之前的时间? 两个小时之后的时间
now_hour = datetime.now()
delta = timedelta(hours=2)
print(now_hour - delta)
print(now_hour + delta)
#返回两个时间, 想计算两个时间之间的时间差
now_time = datetime.now()  # 对象
pwd_time = os.path.getmtime('/etc/passwd')  # 时间戳
#将时间戳转换为对象
pwd_time_obj = datetime.fromtimestamp(pwd_time)
delta = now_time - pwd_time_obj
print(delta)
fromtimestampfromtimestamp

在这里插入图片描述

应用实例-系统监控

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

import os
import psutil
from datetime import  datetime
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类型的时间2019-01-15 08:59:01
boot_time_obj = datetime.fromtimestamp(boot_time)
#print(type(boot_time_obj))
now_time = datetime.now()
delta_time = now_time - boot_time_obj
#print(type(delta_time))
print("开机时间: ",  boot_time_obj)
print("当前时间: ", str(now_time).split('.')[0])   
 #str是为了将对象转换为字符串, 实现分离;
 #split分离是为了去掉毫秒
print("开机时长: ", str(delta_time).split('.')[0])    
#split分离是为了去掉毫秒


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


info = psutil.users()[0]
print(info)
print(type(info))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_37206112/article/details/86518796