2012-11-27 16 views
7

Teraz piszę serwer i chciałbym sprawdzić nagłówek "If-Modified-Since:".
Ponieważ istnieje tak wiele metod data, jakie metody należy rozważyć, by sprawdzić, jak zwykły sposób (milisekund jest wykorzystywany w przeglądarkach) ....Zmodyfikowana - od daty Format

follwing jest howi zrobił dla formatu milisekund.

Date date; 

//dateS is a substring of If-Modified-Since: header 
try{ 
    long mills = Long.parseLong(dateS); 
    } catch (NumberFormatException e) 
    {e.printStackTrace(); 
    } 
    date = new Date(mills); 

Chcę również sprawdzić format "Śro, 19 października 2005 10:50:00 GMT". Jak mogę zmienić tę datę na milisekundy?

 SimpleDateFormat dateFormat = new SimpleDateFormat(
       "EEE, dd MMM yyyy HH:mm:ss z"); 

     // to check if-modified-since time is in the above format 
     try { 

      ifModifiedSince = dateFormat.parse(date); 
      ????????????????????? 
     } catch (ParseException e1) { 
     } 

Proszę mi pomóc z chaging wyżej i proszę mi powiedzieć, czy istnieje jakikolwiek Format Daty, które należy sprawdzić dla ..

+0

już odpowiedział wierzę: [http://stackoverflow.com/questions/1930158/how-to-parse-date-from-http-last-modified-header][1] [1]: http://stackoverflow.com/questions/1930158/how-to-parse-date-from-http-last-modified-header – Farid

+0

Przeglądarki używają milisekundy jako Last-Modified-Date, ponieważ to jest to, co mam otrzymywałem nagłówek żądania we wszystkich przeglądarkach – Ken

+0

w linku i miałem na myśli użycie format.parse (dateString) .getTime(); – Farid

Odpowiedz

1

Jak już masz obiekt Date, można użyć:

long timeInMillis = ifModifiedSince.getTime(); 
14

aplikacje HTTP historycznie dozwolone trzy różne formaty reprezentacji znaczków data/czas:

Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123 
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036 
Sun Nov 6 08:49:37 1994  ; ANSI C's asctime() format 

Więcej szczegółów w HTTP/1.1 RFC 2616.