SimpleDateFormat() – Konstruuje format używając domyśnego wzorca i domyślnych symboli formatujących dat. Nie uwzględnia wszystkich lokalizacji (Listing080)
SimpleDateFormat(String pattern) – konstruuje format używając podanego wzorca i domyśnych symboli dla formatowania dat. Nie obejmować wszystkich lokalizacji (Listing081)
SimpleDateFormat(String pattern, DateFormatSymbols) – konstruuje format używając podanego wzorca i podanej tablicy symboli formatowania dat. Nie zawiera wszystkich lokalizacji (Listing082)
SimpleDateFormat(String pattern, Locale locale) – konstruuje format używając podanego wzorca i domyśnych symboli formatujących daty dla podanej lokalizacji (Listing083)
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing080 {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String s = sdf.format(date);
System.out.println("s: " + s);
}
}
s: 09.10.2018, 11:34
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing081 {
private static final String SQL_DATE_FORMAT = " yyyy-mm-dd";
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(SQL_DATE_FORMAT);
String s = sdf.format(date);
System.out.println("s: " + s);
}
}
s: 2018-35-09
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing082 {
private static final String RFC_1123_FORMAT = "G, dd MMM yyyy hh:mm:ss z";
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(RFC_1123_FORMAT,
new DateFormatSymbols());
String s = sdf.format(date);
System.out.println("s: " + s);
}
}
s: n.e., 09 paź 2018 11:36:02 CEST
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing083 {
private static final String RFC_3339_FORMAT = "yyyy-mm-dd'T'hh:mm:ssZ";
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(RFC_3339_FORMAT,
new Locale("PL"));
String s = sdf.format(date);
System.out.println("s: " + s);
}
}
s: 2018-36-09T11:36:35+0200
Metody
Nie opisuję metod dziedziczonych.
applyPattern(String)
Metoda applyPattern(String)
Zwraca
Metoda
Opis
void
applyPattern(String pattern)
Stosuje podany wzorzec do formatowania dat
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing084 {
private static final String RFC_1123_FORMAT = "G, dd MMM yyyy hh:mm:ss z";
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String s = sdf.format(date);
System.out.println("s: " + s);
sdf.applyPattern(RFC_1123_FORMAT);
String s1 = sdf.format(date);
System.out.println("s1: " + s1);
}
}
s: 09.10.2018, 11:37
s1: n.e., 09 paź 2018 11:37:04 CEST
applyLocalisedPattern(String)
Metoda applyLocalisedPattern(String)
Zwraca
Metoda
Opis
void
applyLocalizedPattern(String pattern)
Stosuje podany wzorzec do formatowania dat
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing085 {
private static final String RFC_3339_FORMAT = "yyyy-mm-dd'T'hh:mm:ssZ";
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String s = sdf.format(date);
System.out.println("s: " + s);
sdf.applyLocalizedPattern(RFC_3339_FORMAT);
String s1 = sdf.format(date);
System.out.println("s1: " + s1);
}
}
Jeżeli data jest 2-cyfrowa, to stulecie domyślne obejmuje okres 80 lat przed i 20 lat po aktualnej date (systemu). Metoda podaje datę od której te 100 lat zaczyna się liczyć
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing088 {
private static final String RFC_1123_FORMAT = "G, dd MMM yyyy hh:mm:ss z";
public static void main(String[] args) {
Date date = new Date();
System.out.println("date: " + date);
SimpleDateFormat df = new SimpleDateFormat(RFC_1123_FORMAT);
Date date1 = df.get2DigitYearStart();
System.out.println("date1: " + date1);
}
}
date: Tue Oct 09 11:39:17 CEST 2018
date1: Sun Oct 09 11:39:17 CET 1938
set2DigitYearStart(Date)
Metoda set2DigitYearStart(Date)
Zwraca
Metoda
Opis
void
set2DigitYearStart(Date)
Podana data będzie początkiem 100 letniego okresu – zajrzyj do opisu poprzedniej metody
Bez listingu.
getDateFormatSymbols()
Metoda getDateFormatSymbols()
Zwraca
Metoda
Opis
DateFormatSymbols
getDateFormatSymbols()
Zwraca obiekt DateFormatSymbols zawierający szczegółową informację o symbolach formatowania w tym obiekcie formatującym
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing089 {
private static final String RFC_1123_FORMAT = "G, dd MMM yyyy hh:mm:ss z";
public static void main(String[] args) {
Date date = new Date();
System.out.println("date: " + date);
SimpleDateFormat df = new SimpleDateFormat(RFC_1123_FORMAT);
DateFormatSymbols dfs = df.getDateFormatSymbols();
System.out.println(Arrays.toString(dfs.getMonths()));
System.out.println(Arrays.toString(dfs.getWeekdays()));
}
}
Ustawia nowy obiekt określający symbole formatowania dla tego obiektu formatującego
Klasę omówimy szczegółowo przy omawianiu tworzenia własnych kalendarzy.
parse(String, ParsePosition)
Metoda parse(String, ParsePosition)
Zwraca
Metoda
Opis
Date
parse(String text, ParsePosition pos)
Zwraca datę zawartą w stringu jako obiekt Date parsowaną od pozycji pos.
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing090 {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat df1 = new SimpleDateFormat();
String df1s = df1.format(date);
System.out.println("dfls: " + df1s);
Date date2 = df1.parse(df1s, new ParsePosition(0));
System.out.println("date2: " + date2);
Date ob = (Date) df1.parseObject(df1s, new ParsePosition(0));
System.out.println("ob: " + ob);
}
}
dfls: 09.10.2018, 11:40
date2: Tue Oct 09 11:40:00 CEST 2018
ob: Tue Oct 09 11:40:00 CEST 2018
toPattern()
Metoda toPattern()
Zwraca
Metoda
Opis
String
toPattern()
Zwraca wzorzec opisujący ten format
toLocalizedPattern()
Metoda toLocalizedPattern()
Zwraca
Metoda
Opis
String
toLocalizedPattern()
Zwraca wzorzec opisujący ten format
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing091 {
private static final String RFC_1123_FORMAT = "G, dd MMM yyyy hh:mm:ss z";
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat df1 = new SimpleDateFormat(RFC_1123_FORMAT);
String df1s = df1.format(date);
System.out.println("df1s: " + df1s);
String pat = df1.toPattern();
System.out.println("pat: " + pat);
String lpat = df1.toLocalizedPattern();
System.out.println("lpat: " + lpat);
}
}
df1s: n.e., 09 paź 2018 11:40:53 CEST
pat: G, dd MMM yyyy hh:mm:ss z
lpat: G, dd MMM yyyy hh:mm:ss z