将字符串转换为日期mysql

Posted

技术标签:

【中文标题】将字符串转换为日期mysql【英文标题】:Convert String to Date mysql 【发布时间】:2014-03-08 20:41:24 【问题描述】:

我需要将字符串转换为日期以允许我在 mysql 表中插入信息:

我试过了:

System.out.println("Escribe la fecha de nacimiento de socio:");
//Traduction to english:        set the date of birthday //

String fechaSocio  = sc.next();

Date fecha = null;
try 
  fecha = new SimpleDateFormat("ddMMyyyy").parse(fechaSocio);
 catch (ParseException e) 
  // TODO Auto-generated catch block
  e.printStackTrace();

但它是这样转换的:Thu Mar 21 00:00:00 CET 1996

我需要转换成这个:

01-01-1987 或 01011987

public class SocioDao 
static ClaseConexion conexion = new ClaseConexion();

public void insertar(Socio misocio)

System.out.println(misocio.getDATA_NAIXEMENT());
System.out.println("..........................");


  try 

        Statement statuo = conexion.getConnection().createStatement();


        statuo.executeUpdate("insert into socis(CODI_SOCI,DNI,NOM,COGNOMS,"
                + "DATA_NAIXEMENT,ADRECA,POBLACIO,TELEFON) values ('"
                + misocio.getCODI_SOCI() + "','" + misocio.getDNI()
                + "',' " + misocio.getNOM() + "','" + misocio.getCOGNOMS()
                + "','" + misocio.getDATA_NAIXEMENT() + "','"
                + misocio.getADREÇA() + "','" + misocio.getPOBLACIO()
                + "','" + misocio.getTELEFON() + "')");

        statuo.close();
        conexion.desconectar();
        System.out.println("Socio añadido correctamente");

     catch (Exception e) 
        System.out.println("No se puede añadir un nuevo socio");




    


【问题讨论】:

您只向我们展示了解析。您还没有向我们展示您如何尝试在 MySQL 查询中设置日期。 从哪里得到Thu Mar 21 00:00:00 CET 1996 【参考方案1】:

您似乎正试图在 MySQL 查询中将 Date 作为 String 传递。

不要。而是在 PreparedStatement 类中使用适当的日期设置器方法。

请记住,Date 没有格式。格式仅用于显示日期。

【讨论】:

请参阅this other answer by BalusC,了解此答案所暗示的示例。【参考方案2】:

如果您尝试在数据库中插入日期,请​​使用 mysql 函数..

例如:

INSERT INTO test (sampledate) VALUES (CURDATE());

【讨论】:

以上是关于将字符串转换为日期mysql的主要内容,如果未能解决你的问题,请参考以下文章

如何将日期字符串转换为 mysql 日期格式以使用 mysql 查询计算日期差异

可以将字符串日期转换为mysql DateTime吗?

MySQL将日期字符串转换为Unix时间戳

如何将欧洲格式的字符串日期转换为有效的 mysql 日期格式?

将访问日期时间类型转换为 mysql 类型

无法在 MySQL 查询中将字符串转换为日期时间