↑↑↑ 点击“Linux运维技术之路”关注,希望对您有所帮助!
Python 程序能用很多方式处理日期和时间:例如time,datetime等。
time 模块
time是归类在常规操作系统服务中,它提供的功能更加接近于操作系统层面。模块通过系统底层的计时器获取自 epoch
以来经过的总秒数(可能为浮点数),即我们常说的 POSIX 时间戳(timestamp)
其所能表述的日期范围被限定在1970-2038之间,
如果需要表述范围之外的日期,可能需要考虑使用datetime模块更好。
常用命令
#!/usr/bin/python
# -*- coding:utf-8 -*-
import time
print(time.time()) #获取的是时间戳1640656968.803966
print(time.localtime()) #time.struct_time(tm_year=2021, tm_mon=12, tm_mday=28, tm_hour=11, tm_min=18, tm_sec=4, tm_wday=1, tm_yday=362, tm_isdst=0)
#print(time.localtime(time.time())) #获取time.struct_time(tm_year=2021, tm_mon=12, tm_mday=28, tm_hour=11, tm_min=7, tm_sec=15, tm_wday=1, tm_yday=362, tm_isdst=0)
print(time.asctime(time.localtime(time.time()))) # Tue Dec 28 11:12:14 2021
# 获取格式化时间
print(time.strftime('%Y-%m-%d')) # 获取年月日 2021-12-28
print(time.strftime("%Y-%m-%d %H:%M:%S")) #获取年月日 时分秒 2021-12-28 11:16:02
# print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) #获取年月日 时分秒 2021-12-28 11:16:02
print(time.mktime(time.localtime())) # 将time.struct_time转换为时间戳
start=time.perf_counter()
time.sleep(2)
end=time.perf_counter()
t=end-start
print("执行时间:",t)复制
1、time.sleep(sec):暂停调用线程的执行,暂停时间为给定的秒数。经常用于测试模拟,实际的暂停时间可能超出给定秒数
2、time.localtime([sec]):将一个时间戳转化成一个当时时区的struct_time,如果sec参数未输入,则以当前时间为转化标准
3、time.strftime(format[,t]):将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
4、time.time():返回当前时间的时间戳(以秒表示的浮点数)
5、time.mktime(t):将一个struct_time转换为时间戳
6、time.gmtime([sec]):将一个时间戳转化为UTC时区(0时区)的struct_time
7、time.clock():不同系统含义不同。UNIX——返回进程时间,WINS第一次调用返回进程运行的实际时间,第二次调用是自第一次调用以后到现在的运行时间
8、time.asctime([t])把一个时间的元组或者struct_time表示为“Sun Jun 20 23:21:05 1993”,如果无参数,则会把time.localtime()作为参数传入
9、time.ctime([sec]):把一个时间戳转化为time.asctime()的形式,如果无参数或者为None时,则会把time.time()作为参数传入。它的作用相当于time.asctime(time.localtime(sec))
10、time.strftime(format[,t]):把一个代表时间的元组或者struct_time转化为格式化的时间字符串。如果t为指定,将传入11、time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出
11、time.perf_counter() 是计算较短时间间隔的更好方法,结果更为精确,在计算执行时间时可替代上述的 time.time()复制
datetime模块
datetime模块中常用的类是:
date类 time类 datetime类 timedelta类
datetime类学习
#!/usr/bin/python
# -*- coding:utf-8 -*-
# 针对时间的
from datetime import datetime
now=datetime.now()
print(datetime.now()) # 获取当前日期和时间
# current date and time
now = datetime.now()
t = now.strftime("%H:%M:%S")
print("time:", t)
s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)
s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
a = datetime(2020, 12, 28, 23, 55, 59, 342380)
print("年 =", a.year)
print("月 =", a.month)
print("日 =", a.day)
print("时 =", a.hour)
print("份 =", a.minute)
print("时间戳 =", a.timestamp())复制
date类学习
#!/usr/bin/python
# -*- coding:utf-8 -*-
# 针对日期操作
from datetime import date
today=date.today()
print("当前日期",today) # 当前日期 2021-12-28
print('年:',today.year)
print('月:',today.month)
print('日:',today.day)
timestamp = date.fromtimestamp(1576244364)
print("日期 =", timestamp) ##日期 = 2019-12-13复制
time类学习
#!/usr/bin/python
# -*- coding:utf-8 -*-
# 针对时间的
from datetime import time
a = time()
print('a=',a) # a= 00:00:00
b = time(11,22,33)
print('b=',b)
c=time(hour=7,minute=20,second=2)
print("c=",c)
d = time(11, 34, 56, 234566)
print("d =", d)
a = time(11, 34, 56)
print("小时=", a.hour)
print("分钟=", a.minute)
print("秒=", a.second)
print("微秒=", a.microsecond)复制
timedelta类学习
#!/usr/bin/python
# -*- coding:utf-8 -*-
# 计算2个对象之间的时间差
from datetime import timedelta
t1 = timedelta(weeks=2,days=5,hours=1,seconds=10)
t2 = timedelta(days=4,hours=11,minutes=4,seconds=54)
t3 = t1 - t2
print ("t3=",t3)
#打印负timedelta对象
t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2
print("t3 =", t3)
print("t3 =", abs(t3))
#获取总的时间,单位为秒
t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())复制
爱运维^_^爱分享
麻烦转发、在看、赞 👇
文章转载自Linux运维技术之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
python中标识符的命名规则和命名规范
周同学带您玩AI
81次阅读
2025-04-21 10:34:44
AI与我共创WEB界面
布衣
59次阅读
2025-04-14 22:13:51
解决pyqt5 textbrowser控件超链接锚点问题
zayki
41次阅读
2025-04-27 16:58:59
python 实现消费者优先级队列
天翼云开发者社区
31次阅读
2025-04-25 11:08:21
优雅遍历和删除特定开头的key
陌殇流苏
27次阅读
2025-04-25 12:17:03
《深入剖析Python的生成器表达式与列表推导式:探寻代码背后的哲学与艺术》
程序员阿伟
25次阅读
2025-04-27 16:22:14
python中的常见数据类型
周同学带您玩AI
16次阅读
2025-04-21 10:34:43
python自动更新dns A记录
godba
12次阅读
2025-04-23 11:19:04
python中不同数据类型转换-布尔型
周同学带您玩AI
10次阅读
2025-04-22 10:12:05
AIOps系列-跳出“工具人”陷阱:从重复劳动到价值创造
韩公子的Linux大集市
8次阅读
2025-05-06 08:49:02