Python时间日历

        Python时间日历就简单介绍几个关于时间的模块。

    time模块 

        time模块主要提供了处理时间和表示之间的相关功能 。

        1.获得时间戳(从0时区的1970年1月1日0时0分0秒, 到所给定日期时间的秒数)

import time
t = time.time()
print(t)     # 1669539989.598222

        2.获取时间元组(很多Python时间函数将时间处理9个数字的元组) 

# localtime([seconds])    # seconds可选的时间戳,默认为当前时间戳

import time
t = time.localtime()
print(t)

'''
结果演示:
time.struct_time(tm_year=2022, tm_mon=11, tm_mday=27, tm_hour=17, tm_min=11, tm_sec=27, tm_wday=6, tm_yday=331, tm_isdst=0)
'''

        上述结果中各字段说明如下图:

        3. 获取格式化时间

                秒 -> 可读时间

# time.ctime([seconds])   seconds可选时间戳,默认为当前时间戳

import time
print(time.ctime())     # Tue Nov 29 12:43:29 2022

                时间元组 -> 可读时间 

# time.asctime([p_tuple])   p_tuple为可选时间元组,默认为当前时间元组

import time
print(time.asctime())    # Tue Nov 29 12:46:38 2022

        4.格式化日期字符串 <--> 时间戳

                时间元组 -> 格式化日期 

# time.strftime(格式字符串, 时间元组)

import time
result = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(result)     # 2022-11-29 12:52:52

              格式化日期 -> 时间元组

# time.strptime(日期字符串, 格式符字符串)
# 注意点:日期字符串的格式要与格式符字符串一一对应

import time
time_tuple = time.strptime("2022-11-29 12:56:00", "%Y-%m-%d %H:%M:%S")
print(tuple)    # time.struct_time(tm_year=2022, tm_mon=11, tm_mday=29, tm_hour=12, tm_min=56, tm_sec=0, tm_wday=1, tm_yday=333, tm_isdst=-1)

# 将时间元组转换为时间戳
# time.mktime(时间元组)

print(time.mktime(time_tuple))  # 1669697760.0

                常用格式符(比较多,了解一下,用的时候可以去查) 

常用格式符
	%y 两位数的年份表示(00-99)
	%Y 四位数的年份表示(000-9999)
	%m 月份(01-12)
	%d 月内中的一天(0-31)
	%H 24小时制小时数(0-23)
	%I 12小时制小时数(01-12)
	%M 分钟数(00=59)
	%S 秒(00-59)
	%a 本地简化星期名称
	%A 本地完整星期名称
	%b 本地简化的月份名称
	%B 本地完整的月份名称
	%c 本地相应的日期表示和时间表示
	%j 年内的一天(001-366)
	%p 本地A.M.或P.M.的等价符
	%U 一年中的星期数(00-53)星期天为星期的开始
	%w 星期(0-6),星期天为星期的开始
	%W 一年中的星期数(00-53)星期一为星期的开始
	%x 本地相应的日期表示
	%X 本地相应的时间表示
	%Z 当前时区的名称
	%% %号本身

        5. 获取当前CPU时间

# time.clock( )【Python3.8不支持clock,需要perf_counter()】
# 可用来统计一段程序代码执行耗时

import time

start = time.perf_counter()
for i in range(0, 1000):
    print(i)
end = time.perf_counter()
print(end - start)    # 0.005337000000000147

        6.休眠n秒

# sleep(sec)  让程序过sec秒再执行
# 推迟线程的执行, 可简单理解为, 让程序暂停

import time
time.sleep(5)
print('hello Python!')

# 这个不好演示,点击运行上述代码,并不会立即输出hello Python!,而是会等5秒再执行,自己去试试

calendar 模块

        提供与日历相关的功能,比如: 为给定的月份或年份打印文本日历的功能。

# 获取某月日历

import calendar

print(calendar.month(2022, 11))

'''
 November 2022
Mo Tu We Th Fr Sa Su
    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
'''

datetime 模块

        这个模块里面有datetime类,此外常用的还有date类,以及time类,可以做一些计算之类的操作。

        1.获取当天日期

import datetime

print(datetime.datetime.now())   
print(datetime.datetime.today())


'''
2022-11-29 14:53:05.801012
2022-11-29 14:53:05.801013
'''

        2.单独获取当前的年月日时分秒

'''
datetime对象里面的一些属性
	year
	month
	day
	hour
	minute
	second
'''

import datetime

t = datetime.datetime.now()

print(type(t))    # <class 'datetime.datetime'>
print(t.year)     # 2022
print(t.month)    # 11
print(t.day)      # 29
print(t.hour)     # 14
print(t.minute)   # 58
print(t.second)   # 23

        3.计算n天之后的日期

import datetime
	
result = datetime.datetime.today() + datetime.timedelta(days = 7)
print(result)    #  2022-12-06 14:59:02.318008


'''
    timedelta()中的参数不仅仅可以设置days,还有其他的,如下:
days: float = ..., 天
seconds: float = ..., 秒
microseconds: float = ..., 微秒
milliseconds: float = ..., 毫秒
minutes: float = ...,  分钟
hours: float = ...,  小时
weeks: float = ...,  星期

都可以设置进行运算
'''

        4. 获取两个日期时间的时间差 

import datetime
# 计算离双十二还有多久

first = datetime.datetime.now()
second = datetime.datetime(2022, 12, 12, 0, 0, 0)
result = second - first
print(result)    # 12 days, 0:54:30.135559

        这个拖了好几天了,现在有唯一一个粉丝(我室友),不知道他会不会看到,隔离快乐(狗头)。 

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值