如何创建可变时间函数,以便可以在python中选择时间(即不是实际的当前时间)?

时间:2019-06-26 16:55:39

标签: python datetime time

我的Python课程结束了,我正在用Python创建路由系统。我已经创建了一个菜单,并且菜单选项之一是更改时间并显示包的状态。例如,开始时间是早上8点,因为卡车刚要离开,所以没有包裹交付。我叫菜单选项前进一个小时,现在是上午9点,我想重新打印当时所有包裹的状态。由于实际上是根据我的算法在某个时间交付了每个程序包,因此它实际上必须可行,而我却无法实现这一目标。

我知道我可以使用datetime.now来显示当前时间,但是我很难找到有关如何显示我希望在程序开始时显示时间的资源(上午8点)以及如何对其进行修改我可以多次将其向前移动1小时。

from datetime import datetime

now = datetime.now()
print(now)

以上是我暂时用作占位符的内容,但是它与我的打包系统中的时间不符,因此不是很有用。我感谢任何资源或朝着正确的方向前进!

1 个答案:

答案 0 :(得分:-2)

您可以将.combinedate timedatetime合并为>>> from datetime import date, datetime, time >>> first_thing = datetime.combine(date.today(), time(8)) # ^ today ^ at 8am >>> first_thing datetime.datetime(2019, 6, 26, 8, 0) ,因此,例如“今天上午8点” ,您可以这样做:

timedelta

当您想要向前移动一个小时,您可以使用>>> from datetime import timedelta >>> first_thing + timedelta(hours=1) datetime.datetime(2019, 6, 26, 9, 0)

    try:
        Conf=LoadConfig.loadConfig()
        cursor, connection =Util.getConnection(Conf['SRC'])
        data = data.applymap(lambda s: removeSpecialCharacters(s))
        columNameList=[col for col in data.columns]
        DataListInp=data.to_dict('records')

        query='TRUNCATE TABLE '+name
        cursor.execute(query)

        query='insert into '+name+'('
        columnstring=",".join(str(x) for x in columNameList)
        paramString=",".join(':'+str(x) for x in columNameList)

        finalquery=query+columnstring+') values( '+paramString+')'
        cursor.prepare(finalquery)
        cursor.executemany(None, DataListInp)
        connection.commit()
    except Exception as  e:
        print(e)
        traceback.print_exc()
    finally:
        if cursor is not None:
            cursor.close()
            connection.close()

def loadExcel(filename,sheets):
    sheetList=sheets.split(',')
    sheets_dict = pd.read_excel(filename, sheet_name=sheetList,keep_default_na=False)
    for name, data in sheets_dict.items():
        print(name,'Sheet Loading Start')
        loadSheets(data,name)
        print(name,'Sheet Loading Finished')