Oduzimanje datuma u Javi
Prikazujem rezultate 1 do 9 od 9

Tema: Oduzimanje datuma u Javi

  1. #1
    Obećava
    Učlanjen
    22.01.2005.
    Pol
    muški
    Poruke
    55
    Reputaciona moć
    44

    Podrazumevano Oduzimanje datuma u Javi

    Poz, problem je sledeci, od nekog datuma koji je proizvoljan treba da oduzmen nedelju, znaci ako je danas 24.03.2006. (format je bas ovaj, koristim klasu java.util.Date, koristim i SimpleDateFormat za ispis datuma) meni treba da "dobijem" 17.03.2006.

    Ili mozda neko zna za neke linkove gde su ljudi radili slicno sa datumima.

    Sta je bolje da se koristi java.util.Date ili java.util.Calendar? Koja je razlika?



  2. #2
    Ističe se juznivetar (avatar)
    Učlanjen
    12.02.2005.
    Pol
    muški
    Lokacija
    -
    Poruke
    2.041
    Reputaciona moć
    64

    Podrazumevano Re: Oduzimanje datuma u Javi

    Hm trebalo bi da postoji neka funkcija koja ce da uzima rasparca taj datum na dan, mjesec, godina, ako ne postoji napravi sebi takvu funkciju.

  3. #3
    Obećava
    Učlanjen
    22.01.2005.
    Pol
    muški
    Poruke
    55
    Reputaciona moć
    44

    Podrazumevano Re: Oduzimanje datuma u Javi

    Pa nisam valjda ja jedini do sada kome je to trebalo, mora da postoji tako nesto. A da kuckam sam, to je kao da izmisljam toplu vodu (gubljenje vremena). Samo prekopavanjem po api specifikaciji nije pomoglo pa resio sam da probam ovde.

  4. #4
    Ističe se juznivetar (avatar)
    Učlanjen
    12.02.2005.
    Pol
    muški
    Lokacija
    -
    Poruke
    2.041
    Reputaciona moć
    64

    Podrazumevano Re: Oduzimanje datuma u Javi

    Eh pa upravo car programiranja i jeste da sam nesto odradis .
    Evo uradio sam recimo c++ kod za transformaciju tekstualnog zapisa datuma u brojevni, tako da je daljnja manipulacija sasvim jednostavna, evo kompajliraj, ako imas neki c++ kompajler, a Java nije daleko od njega.
    Mada ima ovdje jos koda koji se treba napisati, kao sto je recimo provjera dali jce nakon ofuzimanja otici u drugi mjesec, ili mozda godinu. Al' to nije problem kada na ovaj nacin dobijes rasparcane vrijednosti dan, mjesec, godina
    Kod:
    #include <iostream>
    using namespace std;
    
    void datum(char dt[20], int &dans,int &mjesecs,int &godinas)
    {
    char dan[2], mjesec[2], godina[4];
    for(int i = 0, int j = 3; i < 2; i++, j++)
    {
    dan[i] = dt[i];
    mjesec[i] = dt[j];
    }
    for(int i = 0, int j = 6; i < 4; i++, j++)
    godina[i] = dt[j];
    dans = atoi(dan);
    mjesecs = atoi(mjesec);
    godinas = atoi(godina);
    };
    
    int main()
    {
    	char date[] = "20.07.2005";
    	int dan, mjesec, godina;
    	datum(date, dan, mjesec, godina);
    	cout << "\nDatum: " << dan << " " << mjesec << " " << godina;
    	cout << "\nDat-7: " << dan -7 << " " << mjesec << " " << godina << "\n\n";
    	return 0;
    }

  5. #5
    Ističe se juznivetar (avatar)
    Učlanjen
    12.02.2005.
    Pol
    muški
    Lokacija
    -
    Poruke
    2.041
    Reputaciona moć
    64

    Podrazumevano Re: Oduzimanje datuma u Javi

    Evo zavrsio sam c++ kod koji dakle racuna tacan datum na osnovu oduzimanja 7 dana, kao sto si trazio, dakle sada racuna i ako se prelazi u drugi mjesec ili godinu.

    Kod:
    #include <iostream>
    using namespace std;
    
    
    void datum(char dt[20], int &dans,int &mjesecs,int &godinas)
    {
    char dan[2], mjesec[2], godina[4];
    for(int i = 0, int j = 3; i < 2; i++, j++)
    {
    dan[i] = dt[i];
    mjesec[i] = dt[j];
    }
    for(int i = 0, int j = 6; i < 4; i++, j++)
    godina[i] = dt[j];
    dans = atoi(dan);
    mjesecs = atoi(mjesec);
    godinas = atoi(godina);
    };
    
    int prevMonthDays(int mjesec, int godina)
    {
    	int pD, pM;
    	pM = mjesec -1;
    	if((pM == 1) || (pM == 3) || (pM == 5) || (pM == 7) || (pM == 8)
    	|| (pM == 10) || (pM == 0))
    	pD = 31;
    	if((pM == 4) || (pM == 6) || (pM == 9) || (pM == 11))
    		pD = 30;
    	if(pM == 2)
    	{
    		if(godina%4 == 0)
    			pD = 29;
    		else
    			pD = 28;
    	}
    return pD;
    };
    
    void dateL(int &danL, int &mjesecL, int &godinaL, int lM)
    {
    int count;
    if(danL <= 7)
    {
    count = 7 - danL;
    danL = lM - count;
    if(mjesecL == 1)
    {
    godinaL--;
    mjesecL = 12;
    }
    else
    mjesecL--;
    }
    else
    danL -= 7;
    };
    
    int main()
    {
    	char date[] = "05.01.2005";
    	int dan, mjesec, godina, lM, danL, mjesecL, godinaL;
    	datum(date, dan, mjesec, godina);
    	danL = dan;
    	mjesecL = mjesec;
    	godinaL = godina;
    	lM = prevMonthDays(mjesec, godina);
    	dateL(danL, mjesecL, godinaL, lM);
    	cout << "\nDatum: " << dan << " " << mjesec << " " << godina;
    	cout << "\nDat-7: " << danL << " " << mjesecL << " " << godinaL << "\n\n";
    	return 0;
    }

  6. #6
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    54

    Podrazumevano Re: Oduzimanje datuma u Javi

    Bez uvrede sucur, ali covek je pitao za javu, a ne c++.
    Ne sumnjamo da ti znas to da uradis, ali nekad neadekvatnim odgovorom moze vise da se odmogne nego pomogne.

    Ovako, preporucujem java.util.Calendar


    probaj ovo:

    add(Calendar.DAY_OF_YEAR,-7);
    ili jos prostije
    add(Calendar.WEEK_OF_YEAR,-1);

    pozdrav.

  7. #7
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    54

    Podrazumevano Re: Oduzimanje datuma u Javi

    evo, konkretno:

    Kod:
    import java.util.*;
    public class dan
    {
    public static void main(String[] s)
    {
    Calendar k=new GregorianCalendar();
    System.out.println("pre    :"+k.get(Calendar.DAY_OF_YEAR)+"\n");
    k.add(Calendar.DAY_OF_YEAR,-7);
    System.out.println("posle    :"+k.get(Calendar.DAY_OF_YEAR)+"\n");
    }
    }

  8. #8
    Zainteresovan član
    Učlanjen
    27.09.2003.
    Pol
    muški
    Lokacija
    Sydney
    Poruke
    388
    Reputaciona moć
    52

    Podrazumevano Re: Oduzimanje datuma u Javi

    Ja mislim da coveku treba ovo:

    Kod:
    //Oduzimanje i Dodavanje dana 
    //by sale83
    import java.util.*;
    import java.text.*;
    
    public class DodajOduzmiDane {
    public static void  main(String arg[]) {
    	
     //Format kako ti oces  - 25.03.2006
    String Format_datuma = "dd.MM.yyyy";
    
    SimpleDateFormat FormDatum = new SimpleDateFormat(Format_datuma);
    
    Calendar kalendar = Calendar.getInstance();  
      
      int D,G,M;
       // Dan
        D = kalendar.get(Calendar.DATE);
       //Mesec
        M = kalendar.get(Calendar.MONTH); 
      //Godina
        G = kalendar.get(Calendar.YEAR); 
     
      
    
    kalendar.set(G, M , D); // Godina,Mesec,Dan
    
    //Datum: 25.03.2006
    System.out.println("Datum: " + FormDatum.format(kalendar.getTime()));
    
    //Oduzimamo 7 dana od trenutnog datuma
    kalendar.add(Calendar.DATE,-7);
    
    //Novi datum: 18.03.2006
    System.out.println("Novi datum: " + FormDatum.format(kalendar.getTime()));
    
    
        
       } // main
       
        
        
    } //calss
    Pozzzzz
    Poslednji put ažurirao/la SALE83 : 25.03.2006. u 10:50

  9. #9
    Obećava
    Učlanjen
    22.01.2005.
    Pol
    muški
    Poruke
    55
    Reputaciona moć
    44

    Podrazumevano Re: Oduzimanje datuma u Javi

    Hvala, ona fora

    //Oduzimamo 7 dana od trenutnog datuma
    kalendar.add(Calendar.DATE,-7);


    je bas to sto sam trazio!

Slične teme

  1. Odgovora: 87
    Poslednja poruka: 06.12.2010., 21:48
  2. Odgovora: 40
    Poslednja poruka: 24.03.2009., 17:18
  3. oduzimanje vozila
    Autor janko357 u forumu Automobilizam
    Odgovora: 1
    Poslednja poruka: 13.03.2007., 20:18
  4. Pomoc oko datuma u flashu
    Autor miksin u forumu Web dizajn
    Odgovora: 0
    Poslednja poruka: 01.08.2004., 23:35

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •