如何将java.sql.date格式化为这种格式:"MM-dd-yyyy"?

Pra*_*eep 6 java date

我需要以下面的格式"MM-dd-yyyy"获取java.sql.date,但是我需要它来保留java.sql.date所以我可以将它作为日期字段放入表中.因此,格式化后它不能是String,它必须最终作为java.sql.date对象.

这是我到目前为止所尝试的:

java.util.Date 
today=new Date();
String date = formatter.format(today); 
Date todaydate = formatter.parse(date);
java.sql.Date fromdate = new java.sql.Date(todaydate.getTime());
java.sql.Date todate=new java.sql.Date(todaydate.getTime()); 
String tempfromdate=formatter.format(fromdate);
String temptodate=formatter.format(todate); 
java.sql.Date fromdate1=(java.sql.Date) formatter.parse(tempfromdate); 
java.sql.Date todate1=(java.sql.Date) formatter.parse(temptodate);
Run Code Online (Sandbox Code Playgroud)

Ell*_*sch 8

你可以像a java.util.Date(因为java.sql.Date是一个子类java.util.Date)一样用a做SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat(
    "MM-dd-yyyy");
int year = 2014;
int month = 10;
int day = 31;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1); // <-- months start
                                    // at 0.
cal.set(Calendar.DAY_OF_MONTH, day);

java.sql.Date date = new java.sql.Date(cal.getTimeInMillis());
System.out.println(sdf.format(date));
Run Code Online (Sandbox Code Playgroud)

输出是预期的

2014年10月31日

  • @ user3758849这就是格式化日期的意思.这是说Date(s)不是字符串的另一种方式; 或者如果您愿意,String(s)不是Date. (2认同)

Nir*_*ati 2

使用下面的代码我已经转换了今天的日期。从中学习并尝试使用您的代码

          Date today = new Date();

        //If you print Date, you will get un formatted output
        System.out.println("Today is : " + today);

        //formatting date in Java using SimpleDateFormat
        SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd-yyyy");
        String date = DATE_FORMAT.format(today);
        System.out.println("Today in MM-dd-yyyy format : " + date);

            Date date1 = formatter.parse(date);
    System.out.println(date1);
    System.out.println(formatter.format(date1));
Run Code Online (Sandbox Code Playgroud)