| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Uptime.java_Pete_ 09.11.04 10:49 Kahden ajan välinen erotus toisistaan
/* * COPYRIGHT 2004 Petri Airio * * All rights reserved. * * $Id: Uptime.java,v 1.4 2004/09/27 19:41:59 pete Exp $ */ package com.freakz.hokan.common; import java.util.Calendar; import java.util.Date; /** * Calculates time difference between two time objects. * This time is usually nor often called uptime. * <p/> * $Revision: 1.4 $ * * @author Petri Airio */ public class Uptime { //~ Instance/static variables .............................................. private long _time; //~ Constructors ........................................................... public Uptime() { _time = new Date().getTime(); } public Uptime(Calendar cal) { this(cal.getTime()); } public Uptime(Date d) { this(d.getTime()); } /** * startup time. uptime is calculated against this time. */ public Uptime(long time) { _time = time; // System.out.println("Target time: " + new Date(time) + // " (" + _time + ")"); } //~ Methods ................................................................ public Long[] getTimeDiff() { return getTimeDiff(new Date().getTime()); } public Long[] getTimeDiff(Calendar cal) { return getTimeDiff(cal.getTime()); } public Long[] getTimeDiff(Date d) { return getTimeDiff(d.getTime()); } /** * */ public Long[] getTimeDiff(long time2) { long utime = Math.abs(_time - time2); System.out.println("--> " + time2 + " --> " + utime); if (utime == 0) { return new Long[]{new Long(0), new Long(0), new Long(0), new Long(0)}; } long ut_secs = utime / 1000; long dd = ut_secs / (60 * 60 * 24); long hh = (ut_secs / (60 * 60)) - (dd * 24); long mm = (ut_secs / 60) - (dd * 1440) - (hh * 60); long ss = ut_secs - (dd * 24 * 60 * 60) - (hh * 60 * 60) - (mm * 60); Long[] ret = new Long[4]; ret[0] = new Long(ss); ret[1] = new Long(mm); ret[2] = new Long(hh); ret[3] = new Long(dd); return ret; } } harja 10:51 9.11.04 Tuotanoin... Mikäs ihmeen vika on java.utill.Calendarin tarjoamilla palveluilla? sieltähän löytyy näppärästi add()-metodi jolla tuo nyt käy ilman moista kikkailua. Käytetään sitä luokkakirjastoa, kun siellä on valmiina kaikki tällaiset :-) _Pete_ 11:53 10.11.04 mikefast kirjoitti: Tuotanoin... Mikäs ihmeen vika on java.utill.Calendarin tarjoamilla palveluilla? sieltähän löytyy näppärästi add()-metodi jolla tuo nyt käy ilman moista kikkailua. Käytetään sitä luokkakirjastoa, kun siellä on valmiina kaikki tällaiset :-) add public abstract void add(int field, int amount) Adds or subtracts the specified amount of time to the given calendar field, based on the calendar's rules. For example, to subtract 5 days from the current time of the calendar, you can achieve it by calling: add(Calendar.DAY_OF_MONTH, -5). Parameters: field - the calendar field. amount - the amount of date or time to be added to the field. See Also: roll(int,int), set(int,int) Laitatko vielä esimerkin, miten tuolla saa tehtyä saman eli eroteltua kahden eri aikaleiman eron päivinä, tunteina, minuutteina ja sekunteina. |
![]() Haku
|