Avatar billede brian8 Nybegynder
10. oktober 2001 - 14:49 Der er 20 kommentarer og
1 løsning

Hvordan retuneres klokken i java 2???

Jeg har brug for at få tilføjet sek. min. og timer fra computerens ur til 3 forskellige variabler, i et program som jeg er ved at lave. Er der nogle som ved hvordan jeg kan gøre dette?
Avatar billede disky Nybegynder
10. oktober 2001 - 14:52 #1
Date date=new Date();

nu indeholder date, dato og klokkeslet.

Ud fra den kan du så hente timer, min og sekunder.
Avatar billede logical Nybegynder
10. oktober 2001 - 14:53 #2
Calendar c = new GregorianCalendar();
int sek = c.get(c.SECOND);
int min = c.get(c.MINUTE);
int hour = c.get(c.HOUR_OF_DAY);
Avatar billede ladyhawke Novice
10. oktober 2001 - 14:58 #3
Således kan lade sig gøre:

//Date format example: 12:47:34
  DateFormat dotFormat = new SimpleDateFormat(\"HH:mm:ss\");     

String x = dotFormat.format( new java.util.Date())

hvo x bare er en streng med teksten, svarende til den nuværende tid jvf. eksempel oven for.

Oprindeligt brugte jeg det som dato (udeladt her)  og tidsangivelse i bunden af skærmen på en JLabel og en tråd der opdaterer med faste intervaller
Avatar billede disky Nybegynder
10. oktober 2001 - 14:59 #4
Eller:
        GregorianCalendar date=new GregorianCalendar();
        int timer=date.get(GregorianCalendar.HOUR_OF_DAY); //kun hour hvis du vil have 12 timers ur
        int minutter=date.get(GregorianCalendar.MINUTE);
        int sekunder=date.get(GregorianCalendar.SECOND);


Logical: Når ting som SECOND er static er del vel mere korrekt at kalde dem på GregorianCalender end på et objekt :)
Avatar billede brian8 Nybegynder
10. oktober 2001 - 15:01 #5
logical: når jeg sætter det ind som du har skrevet skriver den: Class Calendar not found.
Skaj jeg importere en pakke eller hvad. Hvis ja,hvilken pakke skal det så være?
Avatar billede disky Nybegynder
10. oktober 2001 - 15:01 #6
du skal bruge

import java.util.*;
Avatar billede logical Nybegynder
10. oktober 2001 - 15:02 #7
disky>>
Nej :-) De deles af alle instanser, og derfor en del af deres scope.
Det korrekte ville iøvrigt være Calendar.SECOND, fordi det er her de er defineret. Men hvorfor svarer du det samme som mig umiddelbart efter??
Avatar billede logical Nybegynder
10. oktober 2001 - 15:05 #8
Calendar ligger i java.util
Avatar billede disky Nybegynder
10. oktober 2001 - 15:05 #9
Det gjorde jeg heller ikke.

Jeg brugte navnet på klassen istedet for objektet.

Jeg lavede den samme metode som dig, fordi den med Date er deprecated.

Og så så jeg at du brugte objektet istedet for klassens navn, og ville lige have den kommentar med.

Jeg mener det er mere korrekt at opgave klassen, da det er klassen de variabler tilhører og ikke objektet. Men det skal egentligt være Calendar, det er rigtigt.
Avatar billede logical Nybegynder
10. oktober 2001 - 15:13 #10
disky>>Ih, hvor jeg hader denne her asynkrone email/website kombination, man svarer meget oven i hinadens..

Nå men lad os for fremtiden begge to så anvende Calendar.SECOND så er vi så stilrene, som vi kan være på det punkt :-)
Avatar billede disky Nybegynder
10. oktober 2001 - 15:14 #11
logical:

Yep helt enig svarene krydser oftest hinanden.

Yep Calendar.SECOND it will be :-)

Hvad så skal du på javaone 2002 ?
Avatar billede logical Nybegynder
10. oktober 2001 - 15:31 #12
disky>> Jeg har indsendt et proposal under Call for Papers, så.. Det bliver jeg jo nok nødt til. Nu mangler jeg bare en sponsor :-)
Avatar billede disky Nybegynder
10. oktober 2001 - 15:35 #13
WOW vil du holde foredrag, sejt nok.

Hvad skal det være om ?
Avatar billede logical Nybegynder
10. oktober 2001 - 15:42 #14
Jeg har arbejdet en del med activation framework, og mener at det er en overset mulighed for rimelig smarte funktioner, så det vil jeg prøve at holde en BOF om. Jeg regner med at være i tænkeboks et par uger endnu og finder et par andre BOFs at fyre af, men det er jo ikke mig som bestemmer :-)
Avatar billede disky Nybegynder
10. oktober 2001 - 15:44 #15
jeg ønsker dig held og lykke.

Hvis jeg kan støtte dig på en eller anden måde, med at få det godkendt, bare sig til :)

Jeg håber selv jeg skal med, bare som tilskuer
Avatar billede martin_schou Nybegynder
10. oktober 2001 - 15:51 #16
I har sgu glemt den bedste:

long time = System.currentTimeMillis();

hvis du skal genbruge tidspunktet senere, så er System.currentTimeMillis() næsten altid at foretrække, da du ikke kan få dette præcise og simple format ud af de andre datatyper, mens de andre datatyper accepterer UTS (Unix Time Stamp?) som constructor-variabel.

Og til alle jer der ikke kan oversætte UTS til \"almindedelige\" formater i hovedet:
Tabere ;-p
Avatar billede disky Nybegynder
10. oktober 2001 - 15:54 #17
Han bad om klokken, ikke antal millisekunder siden 1/1 1970 kl 00:00:00

GregorianCalendar er den korrekt måde at gøre det på.
Avatar billede logical Nybegynder
10. oktober 2001 - 15:59 #18
martin_schou>> Sikken da en holdning. Vi har ikke glemt currentTimeMillis(), men hvorfor bekymre sig om millisekunder, hvis han ønsker oplysninger om sekunder, minutter og timer separat.

Og derudover Date.getTime() og Calendar.getTimeInMillis() returnerer samme ting.
Avatar billede martin_schou Nybegynder
10. oktober 2001 - 16:11 #19
Bare fordi jeg råber op om noget, jeg tydeligvis ikke har styr på, behøver i altså ikke rette på mig ... hehe :-D

Calendar.getTimeInMillis() er protected, så den får man nok ikke specielt meget ud af under normale omstændigheder.

Date.getTime() havde jeg sgu godt nok ikke set tidligere ... my bad.

Kan man (uden manuelt at oversætte en GregorianCalendar til en Date) hive millis ud af den?
Avatar billede disky Nybegynder
10. oktober 2001 - 16:15 #20
GregorianCalender.getDate().getTime();

Gør det
Avatar billede logical Nybegynder
10. oktober 2001 - 16:17 #21
Kun gennem Calendar.getTime().getTime(), men til din trøst så fik vi Joshua Block (Fra Java core team) til at indrømme, at kalenderen var ikke helt så strømlinet som den burde være :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester