Java date format example using SimpleDateFormat

Java SimpleDateFormat can be used to parse a String in a particular date format to a Date object, and it can also be used to derive a date string in a particular format from a Date object.

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatDemo {
	
	public static Date dateStrParser(String dateStr, String format) {
		DateFormat dateFormat = new SimpleDateFormat(format);
		Date date = null;
		try {
			date = dateFormat.parse(dateStr);	
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
		return date;
	}
	
	public static void printDateInDifferentFormats(String dateFormats []) {
		Date date = new Date();
		for (String format : dateFormats) {
			DateFormat dateFormat = new SimpleDateFormat(format);
			System.out.println(dateFormat.format(date));
		}
	}
	
	
   public static void main(String args[]) {
	   String dateStrings [] = {
				   "10-21-2017",
				   "10/21/2017 12:42:50",
				   "21-Oct-2017",
				   "Sat, Oct 21 2017 12:42:50 AM",
				   "Saturday, October 21 2017 12:42:50 AM"
				   };
	   String dateFormats [] = {
			   "MM-dd-yyyy",
			   "MM/dd/yyyy HH:mm:ss",
			   "dd-MMM-yyyy",
			   "E, MMM dd yyyy HH:mm:ss aa",
			   "EEEE, MMMM dd yyyy HH:mm:ss aa"
			   };
	   
		for (int i=0; i<dateStrings.length; i++) {
			Date date = dateStrParser(dateStrings[i], dateFormats[i]);
			System.out.println(date.toString());
		}
	   
	   printDateInDifferentFormats(dateFormats);
       
   }
}
10-21-2017 <=====> MM-dd-yyyy
10/21/2017 12:42:50 <=====> MM/dd/yyyy HH:mm:ss
21-Oct-2017 <=====> dd-MMM-yyyy
Sat, Oct 21 2017 12:42:50 AM <=====> E, MMM dd yyyy HH:mm:ss aa
Saturday, October 21 2017 12:42:50 AM <=====> EEEE, MMMM dd yyyy HH:mm:ss aa

SimpleDateFormat Reference:

Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, …, 7 = Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
X Time zone ISO 8601 time zone -08; -0800; -08:00

Search within Codexpedia

Custom Search

Search the entire web

Custom Search