Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我想将日期从以下位置转换为:;年月日:年月日;至;yyyy mm dd hh:mm:ss“;_Java_Jdbc - Fatal编程技术网

Java 我想将日期从以下位置转换为:;年月日:年月日;至;yyyy 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

来自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 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小时。