Monday, February 24, 2020

How to Convert Date to String in Java with Example

Oracle Java Tutorial and Material, Oracle Java Certification, Oracle Java Exam Prep, Oracle Java Prep

Some times we need to convert java.util.Date to string in java  may for displaying purpose I need it that while working on displaytag then I thought about this article  to list down various way of converting this in various ways, after some reading I found that SimpleDateFormat makes this quite easy. To get the feel of Date API in java and to familiarize ourselves with these classes we will see different examples of converting date to String in our application. Both DateFormat and SimpleDateFormat class belongs java.text package and they are very powerful and you can use them for conversion. it also good for parsing string into date and can be used to show in various locale also.

Steps for converting Date to String in Java


Its very easy with the use of SimpleDateFormat, here are the exact steps:

1) First step is to create a date format using SimpleDateFormat class

2) Call format() method of SimpleDateFormat by passing Date object this will return String representation of date into specified date format.

Now let’s see few examples of converting date to String in java:

//Creating Date in java with today's date.
Date dateNow = new Date();

//change date into string yyyyMMdd format example "20110914"
SimpleDateFormat dateformatyyyyMMdd = new SimpleDateFormat("yyyyMMdd");
String date_to_string = dateformatyyyyMMdd.format(dateNow);
System.out.println("date into yyyyMMdd format: " + date_to_string);

//converting  date into ddMMyyyy format example "14092011"
SimpleDateFormat dateformatddMMyyyy = new SimpleDateFormat("ddMMyyyy");
date_to_string = dateformatddMMyyyy.format(dateNow);
System.out.println("Today's date into ddMMyyyy format: " + date_to_string);

//change date to string on dd-MM-yyyy format e.g. "14-09-2011"
SimpleDateFormat dateformatJava = new SimpleDateFormat("dd-MM-yyyy");
date_to_string = dateformatJava.format(dateNow);
System.out.println("Today's date into dd-MM-yyyy format: " + date_to_string);

//converting date to string dd/MM/yyyy format for example "14/09/2011"
SimpleDateFormat formatDateJava = new SimpleDateFormat("dd/MM/yyyy");
date_to_string = formatDateJava.format(dateNow);
System.out.println("Today's date into dd/MM/yyyy format: " + date_to_string);

//date to dd-MMM-yy format e.g. "14-Sep-11"
SimpleDateFormat ddMMMyyFormat = new SimpleDateFormat("dd-MMM-yy");
date_to_string = ddMMMyyFormat.format(dateNow);
System.out.println("Today's date into dd-MMM-yy format: " + date_to_string);

//convert date to dd-MMMM-yy format e.g. "14-September-11"
SimpleDateFormat ddMMMMyyFormat = new SimpleDateFormat("dd-MMMM-yy");
date_to_string = ddMMMMyyFormat.format(dateNow);
System.out.println("date into dd-MMMM-yy format: " + date_to_string);

For complete details on available symbols for date conversion you can check java doc of DateFormat and SimpleDateFormat class.  Here are some important points about SimpleDateFormat which is worth remembering

1) Common point of confusion between “m” and “M” , small case “m” represent minutes while “M” represent Month Also “d” represent date in month while “D” represent Day of week. This is most common cause of error while converting String to date and back date to string. In shot ddMMyy is not equal to DDmmyy.

2) It’s also worth noting that SimpleDateFormat  are not thread-safe. They are not synchronized so its better you create separate DateFormat for each thread to avoid any race condition while parsing date in java.

It’s very important for any java developer be it senior or junior to get familiarize himself with Date, Time and Calendar API. SimpleDateFormat is an excellent utility for converting String to Date and then Date to String but you just need to be little careful with format and thread-safety.

Related Posts

0 comments:

Post a Comment