Python基础14--时间日期相关模块

目录

前言

1、datetime模块

1.1、创建和获取时间

1.2、时间的截取和格式化

1.3、时间的转换

2、calendar模块

结论


前言

        在Python全站自动化测试中,经常需要处理时间和日期,以验证系统的时间戳、执行周期性任务或者模拟不同时间点的行为。Python的datetimecalendar模块提供了强大的工具来处理这些需求。

1、datetime模块

datetime模块是Python中处理日期和时间的标准库。它重新封装了time模块,并提供了更多的接口和类,如datetimedatetimetimedelta等。

1.1、创建和获取时间

  • 创建时间元组:你可以使用datetime.datetime类根据给定的年、月、日、时、分、秒、微秒值来创建一个时间对象。

    import datetime 
    dt = datetime(2018, 6, 24, 16, 56, 45, 13)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
    2018-06-24 16:56:45.000013

  • 获取当前时间:使用today()now()方法可以获取当前的时间。today()方法返回的是一个不包含时区信息的datetime对象,而now()方法可以根据需要返回带有时区信息的对象。

    dt_today = datetime.today() 
    dt_now = datetime.now()
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
    2024-08-02 17:11:08.234040
    2024-08-02 17:11:08.234040

1.2、时间的截取和格式化

  • 截取时间元组中的部分:你可以直接通过属性访问年、月、日、星期等信息。
import datetime
dt_now=datetime.datetime.now()

print(dt_now.year) # 年 
print(dt_now.month) # 月 
print(dt_now.day) # 日 
print(dt_now.weekday()) # 星期几(0是星期一,6是星期日) 
print(dt_now.isoweekday()) # ISO 8601星期几(1是星期一,7是星期日)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
2024
8
2
4
5
  • 格式化时间strftime方法允许你将datetime对象格式化为字符串。
    import datetime
    
    dt_now=datetime.datetime.now()
    dt=datetime.datetime.now()
    formatted_date = dt_now.strftime("%Y-%m-%d")
    formatted_time = dt_now.strftime("%Y-%m-%d %H:%M:%S")
    print(formatted_date)
    print(formatted_time)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
    2024-08-02
    2024-08-02 16:12:17

1.3、时间的转换

  • datetime与时间戳之间的转换:可以将datetime对象转换为时间戳(自1970年1月1日以来的秒数),或者将时间戳转换回datetime对象。

    dt_now=datetime.datetime.now()
    timestamp = dt_now.timestamp()
    dt_from_timestamp = datetime.datetime.fromtimestamp(timestamp)
    print(timestamp)
    print(dt_from_timestamp)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
    1722845880.191684
    2024-08-02 16:18:00.191684
  • 字符串与datetime之间的转换strptime方法允许将字符串解析为datetime对象,前提是字符串符合指定的格式。

    dt_from_str = datetime.datetime.strptime('2024-8-2 18:19:59.10', '%Y-%m-%d %H:%M:%S.%f')
    print(dt_from_str)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
    2024-08-02 18:19:59.100000

2、calendar模块

calendar模块提供了与日历相关的功能,如生成年历、月历,以及判断闰年等。

  • 获取年历和月历

    import calendar
    
    year_calendar = calendar.calendar(2024)
    month_calendar = calendar.month(2024, 8)
    print(year_calendar, month_calendar)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
                                      2024
    
          January                   February                   March
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
     1  2  3  4  5  6  7                1  2  3  4                   1  2  3
     8  9 10 11 12 13 14       5  6  7  8  9 10 11       4  5  6  7  8  9 10
    15 16 17 18 19 20 21      12 13 14 15 16 17 18      11 12 13 14 15 16 17
    22 23 24 25 26 27 28      19 20 21 22 23 24 25      18 19 20 21 22 23 24
    29 30 31                  26 27 28 29               25 26 27 28 29 30 31
    
           April                      May                       June
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
     1  2  3  4  5  6  7             1  2  3  4  5                      1  2
     8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9
    15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16
    22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23
    29 30                     27 28 29 30 31            24 25 26 27 28 29 30
    
            July                     August                  September
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
     1  2  3  4  5  6  7                1  2  3  4                         1
     8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8
    15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15
    22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22
    29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29
                                                        30
    
          October                   November                  December
    Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
        1  2  3  4  5  6                   1  2  3                         1
     7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8
    14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15
    21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22
    28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29
                                                        30 31
         August 2024
    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 31
  • 判断闰年

    import calendar
    
    is_leap_year = calendar.isleap(2024)
    print(is_leap_year)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    输出结果:
    True

结论

        在Python全站自动化测试中,datetimecalendar模块是处理时间和日期的强大工具。通过使用这些模块,你可以轻松地创建、格式化、截取、转换时间和日期,以及生成年历和月历,并在自动化测试中使用这些功能来验证系统的时间相关行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值