Java 我想将日期从以下位置转换为:;年月日:年月日;至;yyyy mm dd hh:mm:ss“;
来自jsp的响应是这样的格式:“mm/dd/yyyy hh:mm”,我想转换成db格式“yyy-mm-dd hh:mm:ss” 我尝试了以下代码:Java 我想将日期从以下位置转换为:;年月日:年月日;至;yyyy mm dd hh:mm:ss“;,java,jdbc,Java,Jdbc,来自jsp的响应是这样的格式:“mm/dd/yyyy hh:mm”,我想转换成db格式“yyy-mm-dd hh:mm:ss” 我尝试了以下代码: public java.sql.Date getdateFormat(String datestring) throws ParseException { String datestr = ""; try { java.util.Date date = new SimpleDateFormat("mm/dd/yyyy
public java.sql.Date getdateFormat(String datestring) throws ParseException {
String datestr = "";
try {
java.util.Date date = new SimpleDateFormat("mm/dd/yyyy hh:mm a",
Locale.ENGLISH).parse(datestring);
atestr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date);
} catch (Exception e) {
e.printStackTrace();
}
return getDateFromString(datestr);
}
public java.sql.Date getDateFromString(String string) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date finalDate = null;
try {
finalDate = sdf.parse(string);
} catch (Exception e) {
e.printStackTrace();
}
return new java.sql.Date(finalDate.getTime());
}
如果您只需要
日期
,则无需执行此操作
atestr=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date);
只需在此阶段返回日期
日期没有任何格式,它基本上是一个数字。使用中的一个常见错误是跳过文档,并假设它知道何时mm
表示月份,何时mm
表示分钟。没有<代码>毫米仅表示分钟。如果您希望使用月份,请使用MM
如果您希望使用上午/下午,也只能使用a
,并且只能使用hh
作为12小时时钟。我希望你的格式应该是
MM/dd/yyyy HH:mm
和你的输出
yyyy-MM-dd HH:mm:ss
顺便说一句,使用JDBC不需要转换为字符串。使用日期更快,更不容易出错。我们可以通过以下方式获取日期
DateFormat dfm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parseDate = dfm.parse(datestring);
现在,
parseDate
的格式是“yyyy-MM-dd HH:MM:ss”我基本上是这样做的
String dateInString = "20140611";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date toDate = sdf.parse(dateInString);
sdf = new SimpleDateFormat("yyyy-MM-dd");
String tmpStr = String.format(sdf.format(toDate));
System.out.println(tmpStr);
“我想转换成db格式”为什么?当与数据库交互时,您使用的是
PreparedStatement
之类的,对吗?因此,您将为它提供Date
实例,而不是字符串。您没有使用字符串连接来创建DB查询,对吗?因为…:-)你的问题是什么?您是否收到错误或日期格式不正确?我假设您知道java.sql.date
只是日期(没有时间),如果您还需要时间,您应该使用java.sql.Timestamp
。另外hh
是12小时,hh
是24小时。