python从入门到就业-时间日历

python有多种方式处理时间日历,转换日历格式是一个常见的功能。

模块分类

(1)time模块:提供了处理时间和表示之间转换的功能
(2)Calender模块:提供与日历相关的功能,例如为给定的月份或年份打印文本日历
(3)datetime模块:拥有python处理日历和时间的功能

time模块

获取当前时间戳

从0时区的1970年1月1日0时0分0秒,到给定日期时间的秒数
import time
print(time.time()) #1677462689.814213
year = time.time()/(60*60*24*365) + 1970
print(year)#2023.1919966484088

获取时间元组

将时间处理为9个数字的元组
import time
print(time.localtime())#time.struct_time(tm_year=2023, tm_mon=2, tm_mday=27, tm_hour=9, tm_min=55, tm_sec=18, tm_wday=0, tm_yday=58, tm_isdst=0)
#tm_wday一个星期的第几天 今天周一, tm_yday=58 一年的第几天, tm_isdst=0是否是夏令时
print(time.localtime(1677462806.3042178))#可以传入一个时间戳进行对应的查看
#不传参数默认参数为当前的时间戳

获取格式化时间

import time
#time.ctime(seconds)参数默认为现在时间的秒数
print(time.ctime()) #Mon Feb 27 20:07:58 2023

#time.asctime(t_tuple)
print(time.asctime(time.localtime())) #Mon Feb 27 20:09:22 2023

自定义格式化时间的格式

#time.strftime(格式字符串,时间元组)
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) #'2023-02-27 20:14:13'

格式化日期 转 时间元组

#time.strptime(日期字符串, 格式符字符串)
t = time.strptime("2023-02-27 20:14:13", "%Y-%m-%d %H:%M:%S")
#time.struct_time(tm_year=2023, tm_mon=2, tm_mday=27, tm_hour=20, tm_min=14, tm_sec=13, tm_wday=0, tm_yday=58, tm_isdst=-1)

#time.mktime(时间元组)
#实现时间元组转时间戳
print(time.mktime(t))#1677500053.0

计算程序运行的时间

import time
start = time.time()
for i in range(100):
    print("",end= "")
end = time.time()
print(end - start) #0.0009965896606445312

休眠n秒

#time.sleep(n)
for i in range(i):
    print(time.time())
    time.sleep(1)

Calendar模块

提供和日历相关的功能
import calendar 
print(calendar.month(2023, 3))

datetime 模块

python处理时间和日期的标准库,里面有datetime类,常用的还有date类,以及time类
可以做一些计算之类的工作

获取当天日期

import datetime
print(datetime.datetime.now()) #2023-02-27 20:28:46.616188
print(datetime.datetime.today()) #2023-02-27 20:28:46.616188

单独的获取当前时间的部分值

import datetime
now = datetime.datetime.now() #2023-02-27 20:28:46.616188
print(now.year) #2023
print(now.month) #2
print(now.day) #27
print(now.hour) #20
print(now.minute) #31
print(now.second) #29

时间间隔

#增加一段时间
import datetime
now = datetime.datetime.now() 
print(now)#2023-02-27 20:33:29.741039
t = datetime.timedelta(days = 7)
print(now + t)#2023-03-06 20:33:29.741039

#计算时间间隔
first = datetime.datetime(2017, 9, 9, 2, 12, 0, 0)
print(first)
last = datetime.datetime(2017, 9, 10, 2, 12, 0, 0)
delta = last - first
print(delta) #1 day, 0:00:00
print(type(delta)) #1 day, 0:00:00
print(delta.total_seconds()) #86400.0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值