Jeg sidder og roder med en lille ide omkring noget hjemmeside, og i den
sammenhæng ville jeg gerne lave et følgende opslag:
Slå nuværende uges indtastninger op.
Og mit problem er den udregning der gør at man KUN får de indtastninger
der er lavet i den indeværende uge.
Jeg henter datoen på følgende måde - som bruges i min Postgres DB:
Date date = new java.sql.Date(System.currentTimeMillis());
Således at min resultat for datoen er: 2011-05-09
Hvordan kan jeg så slå dette op.
Jeg kan ikke tage de sidste 5? -da der sagtens kan være flere eller mindre.
Det skal bruges til en rapport for at se hvor mange indtastninger der
har været i denne uge - således for at kunne lave lidt statestik over
indtastningerne igennem tiderne.
Per
Noget a la:
- du finder nu
- du koerer tiden tilbage til Mandag kl. 00:00
- du udfoerer en PreparedStatement >= denne tid
Har du brug for kode?
Arne
>>
>> Det skal bruges til en rapport for at se hvor mange indtastninger der
>> har været i denne uge - således for at kunne lave lidt statestik over
>> indtastningerne igennem tiderne.
>
> Noget a la:
> - du finder nu
> - du koerer tiden tilbage til Mandag kl. 00:00
> - du udfoerer en PreparedStatement >= denne tid
>
> Har du brug for kode?
>
> Arne
Hej Arne.
Tak for svaret.
hmmmm der hvor jeg er i tvivl er mere som du selv skriver, køre tiden
tilbage og derfra kører mit statement.
Jeg vil meget gerne se koden hvordan du sætter tiden tilbage til mandag
morgen.
Statement osv har jeg styr på - det er reelt det problem men at få
udregnet hvilke ting der er i denne uge!
Det vil blive kaldt om lørdagen(hver gang) men hvordan finder jeg lige
konkret hvilke indtastninger der er foregået man-fre - så man ikke får
noget fra tidligere uger.
Per
> hmmmm der hvor jeg er i tvivl er mere som du selv skriver, køre tiden
> tilbage og derfra kører mit statement.
>
> Jeg vil meget gerne se koden hvordan du sætter tiden tilbage til mandag
> morgen.
> Statement osv har jeg styr på - det er reelt det problem men at få
> udregnet hvilke ting der er i denne uge!
> Det vil blive kaldt om lørdagen(hver gang) men hvordan finder jeg lige
> konkret hvilke indtastninger der er foregået man-fre - så man ikke får
> noget fra tidligere uger.
Kode snippet:
import java.util.Calendar;
import java.util.Date;
public class StartOfWeek {
public static Date rollStartOfWeek(Date d) {
Calendar cal = Calendar.getInstance();
cal.setTime(d);
while(cal.get(Calendar.DAY_OF_WEEK) != cal.getFirstDayOfWeek())
cal.add(Calendar.DAY_OF_WEEK, -1);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
return cal.getTime();
}
public static void main(String[] args) {
Date now = new Date();
System.out.println("now = " + now);
Date sow = rollStartOfWeek(now);
System.out.println("sow = " + sow);
}
}
Arne
Per