JavascriptProva

martedì 17 gennaio 2017

Regole per il parsing di y in SimpleDateFormat

Ho trovato un costruttore di SimpleDateFormat che non ha parametri. Forse per il parse, ossia la conversione di una stringa in tipo Date, è sufficiente questo costruttore. Sperimentiamo...

No.
E' necessario però imparare le regole, e ce ne sono sia per il parsing sia per il formatting.
PARSING: REGOLE PER YEAR:
Se le y sono fino a 2, l'anno viene interpretato come troncato delle prime due cifre: 61 viene inteso come '61 ovvero 1961;
Se le y sono più di 2, l'anno viene interpretato in senso letterale: 61 viene inteso come 61 dopo Cristo.
        String strData="5/9/61";
        Date dat;
        SimpleDateFormat sdf=new SimpleDateFormat("d/M/y");
        try {
            dat=sdf.parse(strData);
            System.out.println(dat);
        } catch (ParseException e) {
            System.out.println("errore");
        }
01-17 17:20:49.099 5729-5729/? I/System.out: Tue Sep 05 00:00:00 GMT+00:00 1961


        String strData="5/9/61";
        Date dat;
        SimpleDateFormat sdf=new SimpleDateFormat("d/M/yy");
        try {
            dat=sdf.parse(strData);
            System.out.println(dat);
        } catch (ParseException e) {
            System.out.println("errore");
        }
01-17 17:21:57.209 5812-5812/? I/System.out: Tue Sep 05 00:00:00 GMT+00:00 1961


        String strData="5/9/61";
        Date dat;
        SimpleDateFormat sdf=new SimpleDateFormat("d/M/yyy");
        try {
            dat=sdf.parse(strData);
            System.out.println(dat);
        } catch (ParseException e) {
            System.out.println("errore");
        }
01-17 17:38:03.107 5937-5937/? I/System.out: Sat Sep 05 00:00:00 GMT+00:00 61

Nessun commento:

Posta un commento