如何将日期格式“ dd / mm / yy”转换为“ yy / mm / dd”以进行mysql数据库插入?

时间:2019-05-30 11:06:39

标签: python mysql

当我将格式为“ dd / mm / yy”的文件中的日期插入日期为“ yy / mm / dd”的数据库表中时,日期是错误的:

我得到了2011:04:19而不是2019:04:11。

我要保留数据库格式(“ yy / mm / dd”)

我尝试过:

actualdate = DATE_FORMAT(j [0],'%y-%m-%d')

cursor.execute(实际日期)

但它告诉我错误:未定义名称“ DATE_FORMAT”

import mysql.connector
sql = mysql.connector.connect(host='',user='',password='',db='')

cursor = sql.cursor()
f = open("C:\Cumulus\data\Apr19log.txt","r")

st=[i.strip().split(',') for i in f.readlines()]

actualdate = DATE_FORMAT(j[0], '%y-%m-%d')  
cursor.execute(actualdate)

sqllist = "INSERT INTO station_fenelon (variable, date, time,             
outside_temp, outside_humidity) VALUES (%s, %s, %s, %s, %s)"
record = [(i+1, j[0], j[1], j[2], j[3]) for i, j in enumerate(st)]
cursor.executemany(sqllist, record)
sql.commit()

错误:名称'DATE_FORMAT'未定义

1 个答案:

答案 0 :(得分:1)

DATE_FORMAT()是一个MySQL函数,您直接在python脚本中调用它,因此会收到未定义的错误消息。您应该删除此行。

您可以使用STR_TO_DATE将字符串转换为日期

sqllist = "INSERT INTO station_fenelon (variable, date, time,             
outside_temp, outside_humidity) VALUES (%s, STR_TO_DATE(%s,'%d/%m/%Y'), %s, %s, %s)"