python 时间模块

本文介绍了Python中时间模块的使用,包括时间戳、字符串时间、元组时间的表示及相互转换,详细讲解了如何进行不同时间格式间的操作,如将元组时间转化为时间戳、字符串时间等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

世间表示的几种形式:

  • 时间戳
  • 字符串时间
  • 元组类型的时间
方法说明
time.asctime([tupletime])接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
time.ctime([secs])作用相当于asctime(localtime(secs)),未给参数相当于asctime()
time.localtime([secs])接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。
1. 时间戳
print(time.time())

 
 
  • 1

在这里插入图片描述

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

 
 
  • 1

在这里插入图片描述

3. 元组时间
info = time.localtime()
print(info)
print(info.tm_year)
print(info.tm_mon)

 
 
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

4. 常用时间的转换
4.1 把元组时间转换为时间戳
方法说明
time.mktime(tupletime)接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。
import os
import time
tuple_time = time.localtime()
print(tuple_time)
print(time.mktime(tuple_time))

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

4.2 把元组时间转化为字符串时间
方法说明
time.strftime(fmt[,tupletime])接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
import os
import time
tuple_time = time.localtime()
print(tuple_time)
print(time.strftime('%d-%m',tuple_time))
print(time.strftime('%Y/%m/%d',tuple_time))
print(time.strftime('%T',tuple_time))
print(time.strftime('%F',tuple_time))

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

4.3 将时间戳类型的时间转换为字符串时间
方法说明
os.path.getatime(path)返回最近访问时间(浮点型秒数)
os.path.getmtime(path)返回最近文件修改时间
os.path.getctime(path)返回文件 path 创建时间
import os
import time
pwd_time = os.path.getctime(os.path.abspath('.'))
print(pwd_time)
print(time.ctime(pwd_time))

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
4.4 将时间戳类型转换为元组类型的时间
import os
import time
pwd_time = os.path.getctime(os.path.abspath('.'))
print(pwd_time)
print(time.localtime(pwd_time))

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

5. datetime
import os
from datetime import date
from datetime import datetime
from datetime import timedelta
print(date.today())
print(datetime.now())

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

方法说明
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)该函数表示两个时间的间隔
# 计算三天前的时间和三天后的时间
d = date.today()
delta = timedelta(days=3)
print(d + delta)
print(d - delta)

 
 
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

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

 
 
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

方法说明
datetime.fromtimestamp(pwd_time)时间戳转换成字符串日期时间
# 计算两个时间之间的时间差
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)
dalta = now_time - pwd_time_obj
print(delta)

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

需求:

  1. 获取当前主机信息, 包含操作系统名, 主机名,内核版本, 硬件架构等;
  2. 获取开机时间和开机时长;
  3. 获取当前登陆用户
用法说明
psutil模块是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。
psutil.boot_time()获取开机时间
psutil.users()获取当前系统用户登录信息
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() #返回的是一个时间戳
# 将时间戳转化为字符串类型的时间
boot_time_obj = datetime.fromtimestamp(boot_time)
print(type(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(type(delta_time))
print('开机时间:',boot_time_obj)
# str是为了将时间 对象转换为字符串 实现分离
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)

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值