Dates and Strings
Dates and times
DateFormat
The DateFormat class
java.text.DateFormat;
Common static methods
Method | Description |
---|---|
getDateInstance() | Returns a DateFormat object with date, but not time. |
getTimeInstance() | Returns a DateFormat object with time, but not date. |
getDateTimeInstance() | Returns a DateFormat object with date and time. |
getDateInstance(intField)
getTimeInstance(intField) getDateTimeInstance( intField, intField) | Same as above, but you can use the fields shown next to override the default date or time format. |
Common fields of the DateFormat class
Style | Date example | Time example |
---|---|---|
SHORT | 12/31/05 | 12:00 AM |
MEDIUM | Dec 31, 2005 | 7:30:00 PM |
LONG | December 31, 2005 | 7:30:00 AM PST |
FULL | Saturday, December 31, 2005 | 7:30:00 AM PST |
Common method
Method | Description |
---|---|
format(Date) | Returns a String object of the Date object with the format that's specified by the DateFormat object. |
Code that formats a Date object
Date now = new Date(); DateFormat defaultDate = DateFormat.getDateTimeInstance(); String nowString = defaultDate.format(now);
Code that formats a GregorianCalendar object
GregorianCalendar gregEndDate = new GregorianCalendar(2005,11,31,7,30); Date endDate = gregEndDate.getTime(); DateFormat defaultDate = DateFormat.getDateInstance(); String endDateString = defaultDate.format(endDate);
Code that overrides the default date and time formats
DateFormat shortDate = DateFormat.getDateInstance(DateFormat.SHORT); DateFormat shortTime = DateFormat.getTimeInstance(DateFormat.SHORT); DateFormat shortDateTime = DateFormat.getDateTimeInstance (DateFormat.SHORT, DateFormat.SHORT);
The SimpleDateFormat class
java.text.SimpleDateFormat;
If we want to display the moth, day, and year in the MM/dd/yy shorthand format, such as 07/20/11, we write
Date today; SimpledateFormat sdf; today = new Date(); sdf = new SimpleDateFormat("MM/dd/yy"); system.out.println(sdf.format());
Symbol | Meaning | Value | Sample |
---|---|---|---|
y | Year | Number | yyyy -> 2011 |
M | Month in year | text or number | MM -> 07 MMM -> Jul MMMM -> July |
d | Day in month | Number | dd -> 20 |
D | Day in year | Number | DDD -> 201 |
h | Hour in AM/PM | Number | hh -> 12 |
H | Hour in day (0-23) | Number | HH -> 00 |
a | AM/PM marker | Text | a -> AM |
m | Minutes in hour | Number | mm -> 01 |
s | Seconds in minute | Number | ss -> 06 |
S | Millisecond | Number | mmm -> 026 |
E | Day in week | Text | E -> Wed EEEE -> Wednesday |
import java.util.*; // for Date import java.text.*; // for SimpleDateFormat public class DateDisplay { public static void main(String[] args) { Date today; SimpleDateFormat simpleDF1, simpleDF2; today = new Date(); simpleDF1 = new SimpleDateFormat(); simpleDF2 = new SimpleDateFormat("EEEE MMMM dd, yyyy"); // Default short format display System.out.println("Today is " + simpleDF1.format(today)); // programmer-designated long format display System.out.println("Today is " + simpleDF2.format(today)); } }