Archief - [PROG][JAVA] Datum

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

MilM

Legacy Member
Ik zoek een gewoon simpele klasse voor datums
Eigenlijk zou hij moeten jaar/maand/dag in 'int' aanvaarden
en methodes hebben zodat je datums kunt gaan vergelijken (groter/kleiner/gelijk) en ook bv dag teruggeven zowel in int (12de) als als String (bv maandag)
Zelfde voor maand (int 3 of String Maart)

Maar ik vind zo geen klasse :eek:
Lijkt mij niet zo echt moeilijk om zelf te schrijven (buiten dat hij moet weten dat de 24ste bv een zondag is), maar een klasse vinden is natuurlijk handiger

De klasse 'Date' is 'Deprecated'.
Volgens de API moet je Calendar in de plaats gebruiken, maar ook da lijkt mij nie wat ik zoek.


Tis voor een soort database, waar het de bedoeling is om datum in te geven
Bv 24 07 2005
en dan moet hij de recors volgens datum rangschikken
Liefst vanal zouk ook als view in de plaats: Zondag 24 juli 2005 hebben

greetz

dJeez

Legacy Member
Volgens datum rangschikken doe je best al via de query die je naar de DB stuurt (toch als ze steeds op datum gesorteerd dienen te zijn).

Om de datum te formatteren kan je SimpleDateFormat gebruiken (of zelf een klasse maken die overerft van DateFormat).

En Calendar bevat toch eigenlijk alle andere functionaliteiten die je wenst? Ik zie niet echt in waarom je nog een andere klasse zou willen gebruiken.

WHiSPy

Legacy Member
Je kan uit de klasse calendar trouwens 'n java.util.Date terugkrijgen en die kan je simpel omzetten naar 'n java.sql.Date. ('n util.Date kan je immers niet naar 'n preparedstatement sturen)

MilM

Legacy Member
Tis voor gewoon prog, nie voor web
(dus gewone offline database)

Ik zie het blijkbaar nog altijd nie :(
kijk ik daar nu zo over of verstaak et gewoon nie

bedoeling was dus bv:
Datum datum = new Datum (24,7,2005) //datum vandaag als voorbeeld

en da ge dan van die datum, de dag kunt opvragen (24), de maand (7), het jaar (2005), naam van de maand (juli), naam van de dag (zondag) etc ...
en da ge ook kunt vergelijken

Datum 1;
Datum 2;

1.isLaterDan(2); //gewoon kijken welke van de twee het laatst gebeurd is

en ook of het een geldige datum is (31 april mag dus nie)

Da heb ek allemaal al geschreven, das nie moeilijk
buiten het retourneren van die 'zondag' bv (niet da da zo belangrijk is)

ik zou da wel zelf kunnen schrijven, doormiddel van één datum te vertrekken waarvoor ge alles opgeeft (bv dat 24 07 2005 een zondag is).
Vanuit die dag kunt ge dan (rekening houden me schrikkeljaren en maanden) alle andere gaan berekenen

Maarja, khou liever van standaardklassen wegens onderhoud en snelheid
(en kzou dan ook al die regels van schrikkeljaren moeten gaan opzoeken :p . want is nie zuiver om de 4 jaar)


Om terug te komen op die calendar, hoe doeje dat dan? :s
lege construcotr gebruiken en dan de set(int year, int month, int date) ?
hoe vraagt ge dan al die info op ?

Sorry als et noobvragen zijn :p

WHiSPy

Legacy Member
De hint is al gegeven, hoor. Maak van je datum een string en converteer via de simpledateformat... :)

Zo moeilijk is het niet, hoor. Maar het verschil tussen 'n online en 'n offline database is mij toch niet duidelijk, hoor.

Ollie

Legacy Member
Code:
public class DateTest {
	private static SimpleDateFormat sdfDay = new SimpleDateFormat("EEEE") ;
	
	public static void main(String[] args) {		
		Calendar cal = new GregorianCalendar() ;
				
		cal.set(Calendar.DAY_OF_MONTH, 25) ;
		cal.set(Calendar.MONTH, 7) ;
		cal.set(Calendar.YEAR, 2005) ;		
		
		System.out.println("Day as int: " + cal.get(Calendar.DAY_OF_MONTH)) ;
		System.out.println("Day as string: " + sdfDay.format(cal.getTime())) ;
	}
}

Zo dus. Als Java programmeur moeten de SDK docs in uw bookmarks staan (dan had je dit niet hoeven vragen)!

Bavo_acku

Legacy Member
Dates in Java bewerken is een beetje verwarrend in het begin. Vooral door de deprecated klasse Date, die slecht ontworpen was.

Cuball

Legacy Member
kijk ook es naar de DateUtils klasse van jakarta commons package om date bewerkingen te doen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan