Zielony Smok - logo witryny

Daty i czas: Klasa java.text.SimpleDateFormat (2)

Klasa java.text.SimpleDateFormat (2)

Konstruktory

  • 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);
    }
}
s: 09.10.2018, 11:37
s1: 2018-37-09T11:37:39+0200
format(Date, StringBuffer, FieldPosition)
Metoda format(Date, StringBuffer, FieldPosition)
Zwraca Metoda Opis
void format(Date date, StringBuffer stringBuffer, FielPosition pos) Formatuje datę do postaci obiektu StringBuffer
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing086 {
    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();
        StringBuffer sb = new StringBuffer();
        FieldPosition ff = new FieldPosition(DateFormat.MONTH_FIELD);
        df1.applyPattern(RFC_1123_FORMAT);
        sb = df1.format(date, sb, ff);
        System.out.println("sb: " + sb.toString());
        int a = ff.getBeginIndex();
        int b = ff.getEndIndex();
        System.out.println("a: " + a + ", b: " + b);
    }
}
sb: n.e., 09 paź 2018 11:38:09 CEST
a: 9, b: 12
formatToCharacterIterator(Object)
Metoda formatToCharacterIterator(Object)
Zwraca Metoda Opis
AttributedCharacterIterator formatToCharacterIterator() Odziedziczona po klasie Format. Umożliwia iterację po łańcuchu znaków i wyszukiwanie atrybutów
package dt11.java_text_simpledateformat;
import java.text.*;
import java.util.*;
public class Listing087{
	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 df = new SimpleDateFormat(RFC_1123_FORMAT);
		AttributedCharacterIterator aci = df.formatToCharacterIterator(date);
		for(char c = aci.first(); c != CharacterIterator.DONE; c = aci.next()){
			System.out.print(c);
		}
		System.out.println();
		//-
		Date date1 = new Date();
		SimpleDateFormat df1 = new SimpleDateFormat(RFC_1123_FORMAT);
		AttributedCharacterIterator aci1 = df1.formatToCharacterIterator(date1);
		for(char c = aci1.first(); c != CharacterIterator.DONE; c = aci1
				.next()){
			if(aci1.getAttribute(DateFormat.Field.MONTH) != null){
				System.out.println(aci1.getAttribute(DateFormat.Field.MONTH));
				System.out.println(
						"start: " + aci1.getRunStart(DateFormat.Field.MONTH));
				System.out.println(
						"end: " + aci1.getRunLimit(DateFormat.Field.MONTH));
				break;
			}
		}
	}
}
n.e., 09 paź 2018 11:38:45 CEST
java.text.DateFormat$Field(month)
start: 9
end: 12
get2DigitYearStart()
Metoda get2DigitYearStart()
Zwraca Metoda Opis
Date get2DigitYearStart() 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()));
    }
}
date: Tue Oct 09 11:39:50 CEST 2018
[stycznia, lutego, marca, kwietnia, maja, czerwca, lipca, sierpnia, września, października, listopada, grudnia, ]
[, niedziela, poniedziałek, wtorek, środa, czwartek, piątek, sobota]
setDateFormatSymbols(DateFormatSymbols)
Metoda setDateFormatSymbols(DateFormatSymbols)
Zwraca Metoda Opis
void setDateFormatSymbols(DateFormatSymbols newFormatSymbols) 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
clone()

Bez opisu.

equals(Object)

Bez opisu.

hashCode()

Bez opisu