Home > Java > javaTutorial > How to Correctly Convert a Calendar Date to 'yyyy-MM-dd' Format in Java?

How to Correctly Convert a Calendar Date to 'yyyy-MM-dd' Format in Java?

Barbara Streisand
Release: 2024-12-18 02:53:09
Original
228 people have browsed it

How to Correctly Convert a Calendar Date to

Convert Calendar Date to "yyyy-MM-dd" Format in Java

In Java, converting a calendar date to the "yyyy-MM-dd" format is an essential task for various applications.

Incorrect Approach:

Using the SimpleDateFormat class with the "yyyy-MM-dd" pattern on a Date object obtained from a Calendar may not always yield the desired result. For instance, the following code snippet will produce "Wed Sep 26 00:00:00 IST 2012" instead of "2012-09-26":

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
Date date = cal.getTime();             
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String date1 = format1.format(date);  
Copy after login

Correct Approach:

To convert a calendar date to the "yyyy-MM-dd" format correctly, you need to understand the difference between a Date and a LocalDateTime.

Java 8 :

In Java 8 and later, you can use the LocalDateTime class, which represents a date and time without a time zone.

LocalDateTime ldt = LocalDateTime.now().plusDays(1);
DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH);
String formatter = formmat1.format(ldt);
System.out.println(formatter);
Copy after login

Prior to Java 8:

If you're using Java versions prior to 8, you should consider using the ThreeTen Backport library.

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String formatted = format1.format(cal.getTime());
Copy after login

Remember, while the above code initially produces the desired string "2012-09-26," parsing it back into a Date will result in "Wed Sep 26 00:00:00 EST 2012." This is because Date represents the number of milliseconds since a fixed point in time, and formatting it only modifies its string representation.

The above is the detailed content of How to Correctly Convert a Calendar Date to 'yyyy-MM-dd' Format in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template