problem z zegarem

0

Hej hej ;)
mam problem z ustawieniem zegara w javie a dokladniej ze strefa czasowa Ustawiam kalendarz na odpowiednia strefe czasowa i gdy wyswietlam calendar to dodaje mi godzine czasu do gmt i wyswietla mi odpowiednie wartosci ale gdy chce wyciagnac z calendar tylko wartosci pobierane przez getTime to wyswietla mi w czasie GMT zamiast GMT+1

TimeZone strefa = TimeZone.getTimeZone("GMT+1");
Calendar calendar = Calendar.getInstance (strefa, local);
Date hej = (calendar.getTime());

widzicie na czym polega problem?

0

Olej standardową bibliotekę. Jest nie zmieniona od Javy 1.2 i ma masę błędów. Używaj:
http://joda-time.sourceforge.net/

Lepsza, precyzyjniejsza i nie zaburaczona

0

Ja nie widzę w czym jest problem

      TimeZone strefa = TimeZone.getTimeZone("GMT+1");
      Calendar calendar = Calendar.getInstance (strefa,new Locale("PL"));
      Date hej = (calendar.getTime());
      System.out.println(hej.toString());
      calendar = Calendar.getInstance (strefa);
      hej = (calendar.getTime());
      System.out.println(hej.toString());
      calendar = Calendar.getInstance (new Locale("PL"));
      hej = (calendar.getTime());
      System.out.println(hej.toString());
      calendar = Calendar.getInstance ();
      hej = (calendar.getTime());
      System.out.println(hej.toString());

W każdym wierszu pojawiał się właściwy czas.
Do uzyskania bieżącego czasu chyba lepiej użyć instrukcji

new GregorianCalendar();
0

@bogdans, kod jest dobry,ale u mnie też powtórzył się ten problem. Podobny błąd:
http://forum.java.sun.com/thread.jspa?threadID=614117&messageID=3402299

jak widać trzeba poczekać na Javę 7 by móc pracować z klasami Date i GregorianCalendar.

0

zrobilam to pobieranie daty i godziny - wyszedl mi niestety dosc dlugi kod - pobieram recznie godzine i dodaje 1 - malo profesjonalnie, ale dobrze wyswietla ;)

0

Do wyświetlania daty w żądanym formacie możesz uzyć takiej np. konstrukcji:

     SimpleDateFormat df=new SimpleDateFormat("EEEEEEEEEEEE  dd.MM.yyyy  HH:mm:ss");
     .....
    private String formatDate(Date d)
    {
        StringBuffer str=new StringBuffer("");
        df.format(d,str,new FieldPosition(DateFormat.FULL));
        return str.toString();
    }
    ....
   GregorianCalendar date=new GregorianCalendar();
   System.out.println(formatDate(date.getTime()));  // wtorek 04.12.2007 12:47:12
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1