Python 随机生成一组时间

本文介绍如何使用Python生成一组基于特定起始时间的时间戳序列,并将其插入到MySQL数据库中。使用了datetime来处理时间数据,pymysql进行数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

  • 在做项目的时候,可能会遇到造数据的情景,下面要介绍的是指定某个时间,根据python代码,生成一组时间。

所用到的库

  • dbutils.pooled_db
  • datetime
  • pymysql

代码

import datetime
import pymysql
from dbutils.pooled_db import PooledDB

MYSQL_DB_POOL = PooledDB(
    creator=pymysql , # 使用链接数据库的模块
    maxconnections=5 , # 连接池允许的最大连接数,0和None表示不限制连接数
    mincached=2, # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
    maxcached=3, # 链接池中最多闲置的链接,0和None不限制
        maxusage=2 ,   # 单个连接最大复用次数
    blocking=True, # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错
    setsession=[], # 开始会话前执行的命令列表。如:["set datestyle to ...", "set time zone ..."]
    ping=0,
    # ping MySQL服务端,检查是否服务可用。
    # 0 = None = neve
        # 1 = default = whenever it is requested
    # 2 = when a cursor is created
        # 4 = when a query is executed
        # 7 = always
    host='192.168.xx.xx',
    port=3306,
    user='root',
    password='xxxxxx',
    database='xxxxxx',
    charset='utf8'
)

def Con_mysql(create_date,update_date):
    # 连接mysql
    con = MYSQL_DB_POOL.connection()
    cur = con.cursor()
    insertSql = '''insert ignore into rj_log(create_date,update_date)
                    values("{}","{}")
                    '''.format(create_date,update_date)
    try:
        cur.execute(insertSql)
        con.commit()
    except:
        print("插入失败,事务回滚")
        con.rollback()
    con.close()

if __name__ == '__main__':

    in_date = '2022-10-13 09:53:45'
    dt = datetime.datetime.strptime(in_date, "%Y-%m-%d %H:%M:%S")
    for i in range(1,38):

        dt1 = (dt + datetime.timedelta(seconds=180)).strftime("%Y-%m-%d %H:%M:%S")

        dt = datetime.datetime.strptime(dt1, "%Y-%m-%d %H:%M:%S")

        out_date = (dt + datetime.timedelta(days=3)).strftime("%Y-%m-%d %H:%M:%S")

        Con_mysql(dt,out_date)
        i=i+1

结果图(共37行,代码中指定的)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值