Ik moet voor een project de systeemtijd opvragen in Java, is er in de library van Java een methode die dit kan doen of is er een andere manier????
Kijk eens bij System. Daarnaast zijn er ook allemaal Date achtige classes die zichzelf initialiseren met de systeem tijd.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Op woensdag 16 januari 2002 11:13 schreef HansH het volgende:
Ok dan, zal wel ff kijken, thanx...
code:
1
| long now = System.currentTimeMillis(); |
Verwijderd
Dat is GEEN slimme oplossing.code:
1 long now = System.currentTimeMillis();
Beter:
Als je een Date object aanmaakt met de default constructor, neemt ie de tijd dat ie gealloceerd is. Dus:
code:
1
2
3
| import java.util.Date; Date currentDate = new Date(); |
Voilá
En waarom niet?Op woensdag 16 januari 2002 11:50 schreef ManiaXe het volgende:
Dat is GEEN slimme oplossing.
Verwijderd
code:
1
| System.currentTimeMillis() |
geeft de huidige tijd in Milliseconden weer vanaf 01/01/1970.
Als je de datum en tijd dan als string wilt weergeven, moet je die waarde gaan omrekenen naar jaren, maanden, dagen, uren, minuten en seconden.
Andersom is het simpel om van een Date een long te maken, door dit te doen:
code:
1
| long mSecs = currentDate.getTime(); |
Ligt eraan wat je ermee wilt he, als je even een tijdsinterval in milliseconden wilt meten is het WEL een slimme oplossing.Op woensdag 16 januari 2002 11:50 schreef ManiaXe het volgende:
[..]
Dat is GEEN slimme oplossing.
en ik nam aan dat het hiervoor ook gebruikt zou worden.Op woensdag 16 januari 2002 14:50 schreef Tomatrix het volgende:
[..]
Ligt eraan wat je ermee wilt he, als je even een tijdsinterval in milliseconden wilt meten is het WEL een slimme oplossing.
My point exactlyOp woensdag 16 januari 2002 14:50 schreef Tomatrix het volgende:
Ligt eraan wat je ermee wilt he, als je even een tijdsinterval in milliseconden wilt meten is het WEL een slimme oplossing.
Beide kunnen handig zijn.
Laat het nou net zo zijn dat al die date classes de tijd intern op exact die manier weergeven. En je kan heel eenvoudig op basis van een miliseconde waarde bepalen wat de huidige datum is. Kwestie van het juiste object en de juiste constructor.Op woensdag 16 januari 2002 13:38 schreef ManiaXe het volgende:
code:
1 System.currentTimeMillis()
geeft de huidige tijd in Milliseconden weer vanaf 01/01/1970.
Als je de datum en tijd dan als string wilt weergeven, moet je die waarde gaan omrekenen naar jaren, maanden, dagen, uren, minuten en seconden.
Andersom is het simpel om van een Date een long te maken, door dit te doen:
code:
1 long mSecs = currentDate.getTime();
In een project heb ik een keer data opgeslagen als long waarden, omdat ik al het "gedoe" met die SQL date strings wou vermijden, het moest protable zijn over databases, dus dan wil je niet te maken krijgen met gedoe over date strings. Ik stopte die long waarde in het juiste object en floep je krijgt er de juiste string waarde uit, die altijd gelijk is en naar de database geen conflicten kan veroorzaken, want voor opslag pakte ik juist weer die long waarde eruit.
en met een SimpleDateFormat kun je het weergeven precies zoals je zelf leuk vindt...
Verwijderd
Het kan idd op beide manieren, en ik was er idd vanuit gegaan dat het om een te tonen datum ging.
Als het puur om data opslag gaat, is System.currentTimeMillis() handiger, maar als het puur gaat om het aan de gebruiker tonen van een string, is de oplossing met een Date object minder omslachtig.
Zo beter?
Als het puur om data opslag gaat, is System.currentTimeMillis() handiger, maar als het puur gaat om het aan de gebruiker tonen van een string, is de oplossing met een Date object minder omslachtig.
Zo beter?
En als je veel wilt rekenen met datums dan is er nog mijn favoriet: java.util.GregorianCalendar. Het kost wat leeswerk, maar je kunt er dan ook behoorlijk wat mee...Op donderdag 17 januari 2002 10:30 schreef ManiaXe het volgende:
Als het puur om data opslag gaat, is System.currentTimeMillis() handiger, maar als het puur gaat om het aan de gebruiker tonen van een string, is de oplossing met een Date object minder omslachtig.
With the light in our eyes, it's hard to see.
Het is de bedoeling dat ik de systeemtijd + datum kan opvragen.
Het doel van het project is dat ik doormiddel van een webpagina met java servlets een planning voor productie kan invoeren en wijzigen.
Het doel van het project is dat ik doormiddel van een webpagina met java servlets een planning voor productie kan invoeren en wijzigen.
In dat geval zou ik zeker met Date en/of GregorianCalendar objecten gaan werken. Je kunt dan ook heel gemakkelijk de gebruiker een lijstje van geldige plandata geven waaruit gekozen kan worden. Datums parsen is niet heel erg leuk....Op donderdag 17 januari 2002 11:51 schreef HansH het volgende:
Het is de bedoeling dat ik de systeemtijd + datum kan opvragen. Het doel van het project is dat ik doormiddel van een webpagina met java servlets een planning voor productie kan invoeren en wijzigen.
With the light in our eyes, it's hard to see.
Heb et voorelkaar 
Ik wilde het volgende format hebben: yyyy-mm-dd. En na een beetje rondsnuffelen op java.sun.com heb ik het volgende gedaan:
Ik wilde het volgende format hebben: yyyy-mm-dd. En na een beetje rondsnuffelen op java.sun.com heb ik het volgende gedaan:
code:
1
2
3
4
5
6
| import java.util.Date;
import java.text.SimpleDateFormat;
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");
Date currentDate = new Date();
String dateString = formatter.format(currentDate); |
Date is vrijwel geheel deprecated, ik zou zeker kijken naar Calendar etc
Zit nu wel met het probleem dat ik moet rekenen met de datum. Zo moet ik weer kunnen geven wanneer een bepaald artikel klaar is; dit te doen door systeemdatum op te vragen en daar een productietijd bij op te tellen om zo tot een datum te komen waarop het desbetreffende artikel gereed is.
Met welke methode is het makkelijkst te rekenen??
Met welke methode is het makkelijkst te rekenen??
Sorry hoor, maar kijk verdorie is in de Java API docs. Staat het letterlijk in.Op maandag 21 januari 2002 15:22 schreef HansH het volgende:
Zit nu wel met het probleem dat ik moet rekenen met de datum. Zo moet ik weer kunnen geven wanneer een bepaald artikel klaar is; dit te doen door systeemdatum op te vragen en daar een productietijd bij op te tellen om zo tot een datum te komen waarop het desbetreffende artikel gereed is.
Met welke methode is het makkelijkst te rekenen??![]()
Calendar bevat een methode:
add(int field, int amount)
met field geef je aan wat voor type je er bij op wil tellen, milliseconden, seconden, minuten, uren, dagen, etc...
Maakt dus geen drol uit of de productie tijd gedefinieerd is in wat voor formaat dan ook. Let wel even op bij het weekend, mag er dan ook geproduceerd worden?
Nu je volgende vraag:
Ja, maar wat als het 31 januari is en ik tel er een dag bij op?
-public void setLenient(boolean lenient)
Hoezo????Sorry hoor, maar kijk verdorie is in de Java API docs. Staat het letterlijk in.
Ik kan de vraag toch gewoon stellen...
Ja, maar je kunt ook een bookmark maken van deze site (Desnoods download je hem zodat kje hem lokaal kan raadplegen) en drukt in het frame links onder op de class waar je mee werkt, en je ziet precies welke methodes er zijn, wat ze doen, en welke gegevens ze nodig hebben.Op dinsdag 22 januari 2002 09:48 schreef HansH het volgende:
[..]
Hoezo????
Ik kan de vraag toch gewoon stellen...
Werkt een stuk sneller dan hier telkens vragen....
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Ik geef toch ook gewoon antwoord..Op dinsdag 22 januari 2002 09:48 schreef HansH het volgende:
[..]
Hoezo????
Ik kan de vraag toch gewoon stellen...
Ik zie het.Op dinsdag 22 januari 2002 12:46 schreef The - DDD het volgende:
[..]
Ik geef toch ook gewoon antwoord..![]()
in ieder geval heb ik het nu voorelkaar; heb nu gewerkt met GregorianCalendar en met add(int field, int amount) om bewerkingen uit te voeren op de datum.
Pagina: 1