11. september 2006 - 12:16Der er
6 kommentarer og 1 løsning
Heltal konverteres til tidspunkt (GregorianCalendar)
Hej Alle. Jeg har et tal der repræsenterer #sekunder der er gået siden 1/1 år 1900 kl 00.00.00, fx 3367048480. Jeg vil gerne have dette tal konverteret til YYYY.MM.DD.HH.MM.SS. Dvs tallet ovenfor skulle gerne give 2006.09.11.12.15.XX
Hvordan gør jeg lettest det, dvs uden selv at skulle regne ud hvor mange sekunder der er gået på hvert af de mellemliggende år og tage højde for skuddage, solformørkelser og andet pjat?
//int sum //#sekunder siden 1900 GregorianCalendar newTime = new GregorianCalendar(1900, 0, 0, 0, 0, 0); GregorianCalendar seventies = new GregorianCalendar(1970, 0, 0, 0, 0);
long old1 = newTime.getTimeInMillis(); long old2 = seventies.getTimeInMillis(); long diff3 = old2 - old1; diff3 *= 1000l; //#seconds between 1900 and 1970 sum -= diff3;
Date dato = new Date(sum); Calendar nu = Calendar.getInstance(); nu.setTime(dato); System.out.println("året er " + nu.get(Calendar.YEAR));
public class T { public static void main(String[] args) { GregorianCalendar newTime = new GregorianCalendar(1900, 0, 0, 0, 0, 0); GregorianCalendar seventies = new GregorianCalendar(1970, 0, 0, 0, 0); long old1 = newTime.getTimeInMillis(); long old2 = seventies.getTimeInMillis(); long diff3 = (old2 - old1) / 1000; long t = 3367048480L; t = t - diff3; GregorianCalendar nu = new GregorianCalendar(); nu.setTime(new Date(t * 1000)); System.out.println("året er " + nu.get(Calendar.YEAR)); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.