Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 更改日期类型和格式_Java_Date - Fatal编程技术网

Java 更改日期类型和格式

Java 更改日期类型和格式,java,date,Java,Date,我有下面的方法,其中日期作为参数出现,以字符串的形式出现,参数名为dateString,如下所示,最终日期以java.sql.date的形式转换并存储,这也是该方法的返回类型 public static java.sql.Date getSimpleDate11(String dateString) { if (dateString == null) { return null; } java.util.Date date

我有下面的方法,其中日期作为参数出现,以字符串的形式出现,参数名为dateString,如下所示,最终日期以java.sql.date的形式转换并存储,这也是该方法的返回类型

public static java.sql.Date getSimpleDate11(String dateString) {

        if (dateString == null) {
            return null;
        }
        java.util.Date date = null;
        java.sql.Date sqlDate = null;

        try {

            DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            df.setLenient(false);
            date = df.parse(dateString);
            sqlDate = new java.sql.Date(date.getTime());
        } catch (Exception pe) {
            throw new RuntimeException(
                    "The date entered is invalid or has incorrect format"
                            + dateString);
        }
        return sqlDate;
    }
问题:
我发现该值的格式为2014-07-23 YYYY MM dd,我希望返回日期java.sql..date为23-07-14 dd MM YY。

这将生成所需的日期格式-只需使用字符串作为返回类型,而不是java.sql.date:


如果您需要将传入的yyyy MM dd字符串日期转换为java.sql.date对象,那么您在问题中发布的代码中已经做得很好了

一个java.sql.Date对象,就像一个java.util.Date对象一样,在内部以某种格式存储您给它的日期,作为一个程序员,您不必关心这种格式。您只需知道日期存储在对象中,并且可以在需要时从对象中取出日期。如果你对技术细节感兴趣,你可以在谷歌上搜索,但正如我所说,在你的情况下,这并不重要


每当您需要java.util.Date对象时,只需使用从原始getSimpleDate11中获得的对象。。。作用每当您需要以某种格式(如dd-MM-yy)表示日期的字符串时,请使用java.util.date并将其插入到用所需输出格式初始化的DateFormat对象中,就像我在第一个回答中使用DateFormat dfOut格式所做的那样。。。DateFormat方法可以同时处理java.util.Date和java.sql.Date对象。

日期的可能副本是自1970年1月1日00:00:00 GMT以来毫秒数的容器-格式为irrlevent@MadProgrammer请您提供建议,并在可能的情况下展示如何将格式从YYYY-MM-dd转换为dd-MM-YY格式,请告知我,显示问题已经回答的部分是不同的,你不能-这就是答案,日期的格式是基于本地的。DateFormatter用于采用日期格式并将其格式化为某个字符串值。Date是一个容器,表示从纪元开始的毫秒数-它没有格式的概念,不能更改,也不应该更改。谢谢,但最后我必须在java.sql.Date中存储相同的格式。请告知我如何实现这一点
public static String getSimpleDate11(String dateString) {
    if (dateString == null) {
        return null;
    }

    DateFormat dfIn = new SimpleDateFormat("yyyy-MM-dd");
    DateFormat dfOut = new SimpleDateFormat("dd-MM-yy");

    try {
        Date date = dfIn.parse(dateString);
        return dfOut.format(date);
    } catch (ParseException e) {
        throw new RuntimeException(
                "The date entered is invalid or has incorrect format"
                        + dateString);
    }
}