Python:随机生成时间并进行相应的处理。

Python:随机生成时间并进行相应的处理(拓展实现倒计时)。

一、背景

日常工作中,我们经常会构造一些数据,比如模拟性能测试数据,稳定测试数据等,这样的时间数据有可能是不连续不规则的,也有可能是连续规则的变化。本篇文章将逐一进行介绍。(拓展:设计一个倒计时装置)。

二、应用场景

1、随机生成时间(字符串拼接的方式)
(1)代码实现
import random

for i in range(10):
    # 函数返回参数1和参数2之间的任意整数, 闭区间
    a=random.randint(0,60)
    # str(a).zfill(2)代表不足两位的字符向左补0
    print('00:00:'+ str(a).zfill(2))
(2)运行结果
D:\pythonProject\venv\Scripts\python.exe D:\pythonProject\CSDN_Demo\0829.py 
00:00:49
00:00:14
00:00:22
00:00:37
00:00:60
00:00:51
00:00:28
00:00:11
00:00:18
00:00:55

Process finished with exit code 0
(3)代码说明

random.randint()代表函数返回参数1和参数2之间的任意整数, 闭区间。
str.zfill(2))代表返回字符串如果不满足两个字符则向左补充0.

2、限制时间段随机生成时间(radar库)
(1)代码实现
import radar

#创建一个空列表
list=[]
# 1.随机生成时间-并进行排序
for i in range(10):
    #radar生成随机的日期/时间的第三方库
    #random_time随机生成时分秒;random_date随机生成年月日;random_datetime随机生成年月日 时分秒,生成时间为14:11-20:54的随机时间点数据
    a=radar.random_time('14:11:00', '20:54:00')
    # 将随机生成的时间放在列表中,a的数据类型为datatime无法添加到列表,因此转为字符串形式str
    list.append(str(a))
print(list)
#对生成的数据进行排序
list.sort()
print(list)
(2)运行结果
D:\pythonProject\venv\Scripts\python.exe D:\pythonProject\CSDN_Demo\0829.py 
['16:27:43', '18:34:09', '18:49:02', '18:29:13', '17:29:53']
['16:27:43', '17:29:53', '18:29:13', '18:34:09', '18:49:02']

Process finished with exit code 0

(3)代码说明

radar生成随机的日期/时间的第三方库。
random_time随机生成时分秒;random_date随机生成年月日;random_datetime随机生成年月日 时分秒。
list.append(str(a))将随机生成的时间放在列表中,a的数据类型为datatime无法添加到列表,因此转为字符串形式str。
注意:
1、如果不想要重复的数据可以直接通过:print(set(list))进行重复数据剔除。
2、有时候生成的数据想要他按照时间的先后进行排序,因此使用list.sort()即可实现,如上结果显示。(想要从后向前的话添加参数即可list.sort(reverse=True)

3、设置开始/结束时间后,中间的时间累加30s
(1)代码实现
import datetime
end_time=datetime.datetime(2023,8,30,1,12,59)
start_time = datetime.datetime(2023, 8, 30, 1, 10, 10)
#判断开始时间是否大于结束时间,若大于则中止循环累加
while start_time<end_time:
    #datetime.timedelta表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔,
    # 这里我初始的temp为间隔30s
    temp = datetime.timedelta(seconds=30)
    start_time=start_time+temp
    print(start_time)
(2)运行结果
D:\pythonProject\venv\Scripts\python.exe D:\pythonProject\CSDN_Demo\0829.py 
2023-08-30 01:10:40
2023-08-30 01:11:10
2023-08-30 01:11:40
2023-08-30 01:12:10
2023-08-30 01:12:40
2023-08-30 01:13:10

Process finished with exit code 0
(3)代码说明

datetime.datetime与上面的random_time类似:datetime.datetime创建年月日时分秒;
datetime.date创建年月日;datetime.time创建时分秒。
datetime.timedelta表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔。参数可以为secondsdayshours等等代表时间的值。

三、拓展(倒计时装置)

通过设置一个结束时间,利用python datatime的方法获取当前时间的值,然后与结束时间比较,即可实现。

(1)代码实现
import datetime

#设置倒计时停止时间datetime.datetime创建时间
end_time=datetime.datetime(2023,9,30,16,21,00)
#设置起始时间为当前时间mow()
start_time = datetime.datetime.now()
print(start_time)
#随机给一个初始值,为实现相同的时间过滤处理,在输出显示时,没有同一时间显示。
last_name=datetime.datetime(2023,8,1,17,11,00)
#开始时间小于结束时间代表,倒计时仍在继续
while start_time<end_time:
    #start_time = datetime.datetime.now()函数生成的时间为2023-09-06 15:11:50.447072,带微秒数据,不需要因此去除。
    #microsecond微秒
    start_time = datetime.datetime.now().replace(microsecond=0)
    #此时代表上一次的时间last_name与本次的时间start_time如果一致就继续执行,不需要输出显示还剩多长的时间
    if start_time==last_name:
        continue
    else:
        #计算得出目前与结束时间相差的数据
        temp1 = end_time - start_time
        #此时的时间为最近的时间last_name
        last_name = start_time
        # 将datetime.timedelta转为字符串形式,方便我们对接下来字符的提取
        str1=str(temp1)
        #因为数据显示以“:”分割,直接通过split(':')函数将此字符串分割成多个
        list2=str1.split(':')
        #获取列表数据,进行数据输出
        str2='倒计时:'+list2[0]+'小时'+list2[1]+'分'+list2[2]+'秒'
        str2=str2.replace(' days, ','天')
        print(str2)
print("时间到了")
(2)运行结果
D:\pythonProject\venv\Scripts\python.exe D:\pythonProject\CSDN_Demo\0829.py 
2023-09-06 15:19:11.970454
倒计时:241小时0149秒
倒计时:241小时0148秒
倒计时:241小时0147秒
倒计时:241小时0146秒
倒计时:241小时0145秒
倒计时:241小时0144秒
倒计时:241小时0143秒
倒计时:241小时0142秒
倒计时:241小时0141----------------------
时间到了

四、总结

举一反三学习的知识会更快吸收,大家有想了解的关于时间更多应用场景的可以留言,一起进行讨论学习。快来成为学习搭子😁。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Python 的 random 模块来随机生成数字。 例如,要生成一个 0 到 100 之间的随机整数,可以使用 random.randint(0, 100)。 ```python import random random_num = random.randint(0, 100) print(random_num) ``` 还可以使用 random.random() 生成 0 到 1 之间的随机浮点数,如下所示: ```python import random random_num = random.random() print(random_num) ``` 如果要生成其他范围的随机数,可以使用random.uniform(a, b) 来生成 a 到 b 之间的随机浮点数。 ```python import random random_num = random.uniform(0, 100) print(random_num) ``` ### 回答2: Python中可以使用random模块中的函数来随机生成数字。首先,我们需要导入random模块,然后调用相应的函数来生成随机数。 例如,要生成一个0-1之间的随机小数,可以使用random模块中的random()函数,代码如下: ``` import random random_num = random.random() print(random_num) ``` 要生成一个指定范围内的整数,可以使用random模块中的randint()函数,该函数接受两个参数,表示范围的上下限,代码如下: ``` import random random_num = random.randint(1, 10) print(random_num) ``` 要生成一个指定范围内的随机小数,可以使用random模块中的uniform()函数,该函数接受两个参数,表示范围的上下限,代码如下: ``` import random random_num = random.uniform(1, 10) print(random_num) ``` 除此之外,random模块还提供了许多其他函数来生成不同类型的随机数,比如randrange()、choice()、shuffle()等等。 总结起来,Python中可以使用random模块中的函数来随机生成数字,可以生成随机小数、整数或在指定范围内的数字。这些函数提供了灵活和方便的方法来生成随机数,可以根据实际需求进行选择和使用。 ### 回答3: Python中可以通过使用random库来生成随机数字。首先,需要导入random库: ```python import random ``` 接下来,可以使用random模块中的函数生成各种类型的随机数字。下面是几个常见的例子: 1. 生成一个随机整数: ```python num = random.randint(0, 10) # 在0和10之间生成一个随机整数,包括0和10 ``` 2. 生成一个随机浮点数: ```python num = random.random() # 在0和1之间生成一个随机浮点数 ``` 3. 生成一个指定范围内的随机浮点数: ```python num = random.uniform(1.5, 4.5) # 在1.5和4.5之间生成一个随机浮点数 ``` 4. 从一个列表中随机选择一个数字: ```python num = random.choice([1, 2, 3, 4, 5, 6]) # 从给定的列表中随机选择一个数字 ``` 5. 从一个指定范围内随机选择一个数字的步长: ```python num = random.randrange(0, 10, 2) # 在0和10之间,以2为步长生成一个随机整数,包括0和10 ``` 这些只是一些例子,random模块提供了其他一些函数来生成不同类型的随机数字。通过使用这些函数,可以轻松地生成各种类型的随机数字,并应用于Python程序中的不同场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值