将String转换为java.sql.Date和java.sql.Time

Mr *_*gan 1 java datetime jdbc

如果我有这样的方法:

public static String convertDateTimeToString(DateTime dt) {
    return dt.getDate() + " " + dt.getTime();
}
Run Code Online (Sandbox Code Playgroud)

这需要一个DateTime我自己的对象,它包含一个java.sql.Date和一个java.sql.Time,什么是反转过程的最佳方法,以便我可以从字符串子串a java.sql.Date和a java.sql.Time

或者如果DateTime dt是JodaTime DateTime对象?

如果可以这样做而不参考java.util.Date.

Rom*_*man 8

看看SimpleDateFormat类.这是一个教程.

你需要这样的东西:

String datetimeString;
Date result;
SimpleDateFormat formatter = new SimpleDateFormat("EEE d MMM yy hh:mm:ss");
result = formatter.parse (datetimeString);
Run Code Online (Sandbox Code Playgroud)

  • @Mr Morgan:但这根本不是问题.您可以轻松创建sql.Date实例:`java.sql.Date sqlDate = new java.sql.Date(result.getTime());`. (2认同)
  • 好吧,它似乎是这样工作的: String datetimeString = "2010-05-23 23:32:45"; 日期结果;SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 结果 = formatter.parse(datetimeString); java.sql.Date sqlDate = new java.sql.Date(result.getTime()); java.sql.Time sqlTime = new java.sql.Time(result.getTime()); System.out.println("SQL日期" + sqlDate + " " + sqlTime); 谢谢。 (2认同)

Lam*_*bda 7

您可以使用java.sql.Time 的valueOf方法将String转换为java.sql.Time,并使用java.sql.Date的valueOf方法将String转换为java.sql.Date