Výsledky 1 až 5 z 5

Téma: [Java] Formátování uplynulého času

  1. #1

    Standardní [Java] Formátování uplynulého času

    Potřeboval jsem zformátovat čas, který ale není datumem. Něco jako jak dlouho někdo běžel a podobně. Po krátkém hledání jsem ale nic nenašel jak to řešit. Neměl jsem moc času a tu prkotinu si naprogramoval, ale zajímalo by mě jestli to nějak jde. Konkrétně jsem potřeboval asi takový výstup "180 dní 08:32:05". SimpleDateFormat mi moc nepomohl.

    no zveřejním i to co jsem naprogramoval, to kdyby jste to také řešili.
    Kód:
    package xxx;
    
    import java.text.DecimalFormat;
    
    public class TimeFormater {
    	private final static long DAY = 24 * 3600 * 1000L;
    	private final static long HOUR = 3600 * 1000L;
    	private final static long MINUTE = 60 * 1000L;
    	private final static long SECOND = 1000L;
    
    	// we want two digits for hours,minutes... HH:mm:ss
    	private final static DecimalFormat TWO_DIGITS = new DecimalFormat("00");
    
    	public static String format(long miliTime) {
    		long time = miliTime;
    
    		String output = "";
    
    		// it time is bigger than one day
    		if (time > DAY) {
    			long days = miliTime / DAY;	// count days
    			time %= DAY;	// save the rest (delete days from time)
    			output += "" + days;	// add number of days
    			output += (days == 1) ? " day " : " days ";	// add word "day" or "days"
    		}
    
    		// find how many hour time contains and format it to two digits
    		output += TWO_DIGITS.format(time / HOUR) + ":";
    		time %= HOUR;
    
    		// minutes
    		output += TWO_DIGITS.format(time / MINUTE) + ":";
    		time %= MINUTE;
    
    		// seconds
    		output += TWO_DIGITS.format(time / SECOND);
    
    		return output;
    	}
    }
    Přirozená inteligence bude zřejmě brzy překonána inteligencí umělou, avšak přirozenou blbost umělá nikdy překonat nedokáže.

  2. #2
    Senior Member mince Avatar uživatele mraky
    Založen
    16.10.2002
    Bydliště
    Praha
    Příspěvky
    1 166
    Vliv
    299

    Standardní Re: [Java] Formátování uplynulého času

    Jakto, ze nemas datum? Milisekundy jsou datum, protoze promenna typu java.util.Date je interne reprezentovana milisekundami. Normalne si milisekundy narvi do java.util.Calendar a z toho ziskas vsechno co potrebujes.
    Pište česky: hold × holt

    hold – projev pocty nebo úcty (další význam je výkupné, vynucený poplatek ve válce)
    holt – povzdech; ve významu „inu, zkrátka a dobře“

  3. #3

    Standardní Re: [Java] Formátování uplynulého času

    To ano, ale problémem je, že on to požítá od roku 1970. takže když budu mít nějaké obrovské číslo, například tři roky tak mi to vrátí rok 1973 a ne 3. Moc jsem to ale nestudoval. Navíc "day of year" ti vrátí jeho pořadové číslo.
    Přirozená inteligence bude zřejmě brzy překonána inteligencí umělou, avšak přirozenou blbost umělá nikdy překonat nedokáže.

  4. #4
    Senior Member mince Avatar uživatele mraky
    Založen
    16.10.2002
    Bydliště
    Praha
    Příspěvky
    1 166
    Vliv
    299

    Standardní Re: [Java] Formátování uplynulého času

    Ok, zkousel jsi Jodu? Nevim jiste jestli tam je api pro tve potreby, ale stalo by to za prozkoumani.

    http://blog.novoj.net/2008/02/13/jes...uce-joda-time/
    Pište česky: hold × holt

    hold – projev pocty nebo úcty (další význam je výkupné, vynucený poplatek ve válce)
    holt – povzdech; ve významu „inu, zkrátka a dobře“

  5. #5

    Standardní Re: [Java] Formátování uplynulého času

    Jo to vypadá docela slibně. Až to budu příště potřebovat... Teď už to mám a navíc nechci používat další (veliký) externí balík.

    http://joda-time.sourceforge.net/api...me/Period.html
    a
    http://joda-time.sourceforge.net/api...Formatter.html
    Přirozená inteligence bude zřejmě brzy překonána inteligencí umělou, avšak přirozenou blbost umělá nikdy překonat nedokáže.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Nastavení letního času upraveno
    Založil Gregy v sekci fóra Zprávy pro Administrátory
    Odpovědí: 2
    Poslední příspěvek: 11.05.2006, 14:13
  2. [Java] formátování čísla
    Založil Anduril v sekci fóra Programování
    Odpovědí: 2
    Poslední příspěvek: 09.04.2005, 17:56
  3. [JAVA] porebuju okomenotovat program-hotovo,dik
    Založil Wolferine v sekci fóra Programování
    Odpovědí: 19
    Poslední příspěvek: 18.12.2003, 08:44

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •