SimpleDateFormat class helps in formatting and parsing of data. We can change date from one format to other. It allows to user to interpret string date format into a Date object. We can modify Date accordingly, we want.
Declaration :
public class SimpleDateFormat extends DateFormat
Constructors :
- SimpleDateFormat(String pattern_arg) : Constructs a Simple Date Format using the given pattern – pattern_arg, default date format symbols for the default FORMAT locale.
- SimpleDateFormat(String pattern_arg, Locale locale_arg) : Constructs a Simple Date Format using the given pattern – pattern_arg, default date format symbols for the given FORMAT Locale – locale_arg.
- SimpleDateFormat(String pattern_arg, DateFormatSymbols formatSymbols) : Constructs a SimpleDateFormat using the given pattern – pattern_arg and date format symbols.
Java Program illustrating SimpleDateFormat class
// Java Program illustrating SimpleDateFormat class import java.text.*;
import java.util.*;
public class NewClass
{ public static void main(String[] args)
{
SimpleDateFormat geek = new SimpleDateFormat( "dd / MM / yy" );
// Creating instance of the System date
Calendar c = Calendar.getInstance();
System.out.println( "Present Date : " + c.getTime());
// Formatting Date according "dd / MM / yy"
String formattedDate = geek.format(c.getTime());
System.out.println( "Date formatted : " +formattedDate);
}
} |
Output:
Present Date : Wed Jun 21 18:21:13 IST 2017 Date formatted : 21 / 06 / 17
Methods :
1. set2DigitYearStart() : java.text.SimpleDateFormat.set2DigitYearStart(Date starting_Date) parses the date and set the date in the range starting_Date to starting_Date + 100 years.
Syntax :
public void set2DigitYearStart(Date starting_Date) Parameters : starting_Date : Date is set in the range - starting_Date to starting_Date + 100 years Return : Returns void
// Java Program illustrating // use of set2DigitYearStart() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
SimpleDateFormat geek = new SimpleDateFormat( "MM / dd / yy" );
try
{
Calendar c = Calendar.getInstance();
c.setTime(geek.parse( "10 / 27 / 16" ));
System.out.println( "Initial Time : " +c.getTime());
// Setting 1916 instead of 2016
// Use of set2DigitYearStart() method
geek.set2DigitYearStart(geek.parse( "01 / 01 / 1900" ));
c.setTime(geek.parse( "06 / 12 / 16" ));
System.out.println( "New Time : " +c.getTime());
}
catch (ParseException except)
{
except.printStackTrace();
}
}
} |
Output :
Initial Time : Thu Oct 27 00:00:00 IST 2016 New Time : Mon Jun 12 00:00:00 IST 1916
2. get2DigitYearStart() : java.text.SimpleDateFormat.get2DigitYearStart() returns start of 100 year period that was set during parsing.
Syntax :
public void get2DigitYearStart() Parameters : ----- Return : Returns start of 100 year period that was set during parsing.
Implementation :
// Java Program illustrating // use of get2DigitYearStart() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
SimpleDateFormat geek = new SimpleDateFormat( "MM / dd / yy" );
try
{
Calendar c = Calendar.getInstance();
c.setTime(geek.parse( "10 / 27 / 16" ));
System.out.println( "Initial Time : " +c.getTime());
// Setting 1916 instead of 2016
// Use of set2DigitYearStart() method
geek.set2DigitYearStart(geek.parse( "01 / 01 / 1900" ));
// Start Year is 1990.
c.setTime(geek.parse( "06 / 12 / 16" ));
System.out.println( "New Time : " +c.getTime());
// Use of get2DigitYearStart() method to check start year
c.setTime(geek.get2DigitYearStart());
System.out.println( "START Year : " +c.get(Calendar.YEAR));
}
catch (ParseException except)
{
except.printStackTrace();
}
}
} |
Output :
Initial Time : Thu Oct 27 00:00:00 IST 2016 New Time : Mon Jun 12 00:00:00 IST 1916 START Year : 1900
3. toPattern() : java.text.SimpleDateFormat.toPattern() returns pattern of the Date format.
Syntax :
public String toPattern() Parameters : ----- Return : Returns pattern of the Date format.
// Java Program illustrating use of toPattern() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
SimpleDateFormat geek = new SimpleDateFormat();
// Initializing Calendar object
Calendar c = Calendar.getInstance();
// getting Current Date
String dateToday = geek.format(c.getTime());
System.out.println( "Current Date : " +dateToday);
// Use of toPattern() method
// Printing Date Pattern
System.out.println( "Date Pattern : " +geek.toPattern());
}
} |
Output :
Current Date : 6/21/17 6:24 PM Date Pattern : M/d/yy h:mm a
4. parse() : java.text.SimpleDateFormat.parse() parses text from a string to form Date. It is specified by parse in class SimpleDateFormat.
Syntax :
public Date parse() Parameters : ----- Return : Returns Date parsed from a string.
// Java Program illustrating // use of parse() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
SimpleDateFormat geek = new SimpleDateFormat( "MM / dd / yy" );
try
{
Calendar c = Calendar.getInstance();
// Use of .parse() method to parse Date From String 's'
String s = "10 / 27 / 16" ;
c.setTime(geek.parse(s));
System.out.println( "Time parsed from String : " +c.getTime());
}
catch (ParseException except)
{
except.printStackTrace();
}
}
} |
Output :
Time parsed from String : Thu Oct 27 00:00:00 IST 2016
5. applyPattern() : java.text.SimpleDateFormat.applyPattern(String arg) is used to set a defined pattern to the Date Format.
Syntax :
public void applyPattern(String arg) Parameters : arg : defined pattern to be set to the Date Format. Return : Void
Implementation :
// Java Program illustrating // use of applyPattern() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
SimpleDateFormat geek = new SimpleDateFormat();
// Initializing calendar Object
Calendar c = Calendar.getInstance();
// Using 'arg' pattern
String arg = "dd / MM / yyyy HH:mm Z" ;
// Use of applyPattern() method to set date to 'arg' format
geek.applyPattern(arg);
// current date and time
String currentdate = geek.format(c.getTime());
System.out.println( "Current Date : " +currentdate);
// Print the pattern being used
System.out.println( "Pattern applied : " +geek.toPattern());
}
} |
Output :
Current Date : 21 / 06 / 2017 18:25 +0530 Pattern applied : dd / MM / yyyy HH:mm Z
6. format() : java.text.SimpleDateFormat.format(Date arg) changes Date or Time to string.
Syntax :
public final String format(Date arg) Parameters : arg : Date to be formatted to String Return : Formatted String of Date
// Java Program illustrating // use of format() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
SimpleDateFormat geek = new SimpleDateFormat();
// Initializing calendar Object
Calendar c = Calendar.getInstance();
System.out.println( "Actual Date : " +c.getTime());
// Use of format() method to format Date to String
String currentdate = geek.format(c.getTime());
System.out.println( "Formatted Date to String : " +currentdate);
}
} |
Output :
Actual Date : Wed Jun 21 18:25:50 IST 2017 Formatted Date to String : 6/21/17 6:25 PM
7. toLocalizedPattern() : java.text.SimpleDateFormat.toLocalizedPattern() returns Date pattern String of the Date Formatter.
Syntax :
public String toLocalizedPattern() Parameters : ------ Return : Date pattern String used in the formatter
// Java Program illustrating // use of toLocalizedPattern() method import java.text.*;
import java.util.Calendar;
public class NewClass
{ public static void main(String[] args) throws InterruptedException
{
// Date Formatter
SimpleDateFormat geek = new SimpleDateFormat();
// Initializing calendar Object
Calendar c = Calendar.getInstance();
System.out.println( "Date : " + geek.format(c.getTime()));
// Use of format() method to format Date to String
System.out.println( "Pattern in DateFormater 'geek' :"
+ geek.toLocalizedPattern());
}
} |
Output :
Date : 6/21/17 6:27 PM Pattern in DateFormater 'geek' : M/d/yy h:mm a
Next: Java.text.SimpleDateFormat class | Set 2