Calendar date to yyyy-MM-dd format in java

后端 未结 9 910
别跟我提以往
别跟我提以往 2020-11-22 06:16

How to convert calendar date to yyyy-MM-dd format.

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
Date date = cal.getTime();          


        
相关标签:
9条回答
  • 2020-11-22 06:49

    A Java Date is a container for the number of milliseconds since January 1, 1970, 00:00:00 GMT.

    When you use something like System.out.println(date), Java uses Date.toString() to print the contents.

    The only way to change it is to override Date and provide your own implementation of Date.toString(). Now before you fire up your IDE and try this, I wouldn't; it will only complicate matters. You are better off formatting the date to the format you want to use (or display).

    Java 8+

    LocalDateTime ldt = LocalDateTime.now().plusDays(1);
    DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH);
    System.out.println(ldt);
    // Output "2018-05-12T17:21:53.658"
    
    String formatter = formmat1.format(ldt);
    System.out.println(formatter);
    // 2018-05-12
    

    Prior to Java 8

    You should be making use of the ThreeTen Backport

    The following is maintained for historical purposes (as the original answer)

    What you can do, is format the date.

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, 1);
    SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(cal.getTime());
    // Output "Wed Sep 26 14:23:28 EST 2012"
    
    String formatted = format1.format(cal.getTime());
    System.out.println(formatted);
    // Output "2012-09-26"
    
    System.out.println(format1.parse(formatted));
    // Output "Wed Sep 26 00:00:00 EST 2012"
    

    These are actually the same date, represented differently.

    0 讨论(0)
  • 2020-11-22 06:49

    java.util.Date object can't represent date in custom format instead you've to use SimpleDateFormat.format method that returns string.

    String myString=format1.format(date);
    
    0 讨论(0)
  • 2020-11-22 06:59

    I found this code where date is compared in a format to compare with date field in database...may be this might be helpful to you...

    When you convert the string to date using simpledateformat, it is hard to compare with the Date field in mysql databases.

    So convert the java string date in the format using select STR_to_DATE('yourdate','%m/%d/%Y') --> in this format, then you will get the exact date format of mysql date field.

    http://javainfinite.com/java/java-convert-string-to-date-and-compare/

    0 讨论(0)
提交回复
热议问题