Abfrage mit Datum

dg87

Erfahrenes Mitglied
Moin

irgendwie komm ich nicht zurecht.
Ich baue mit meinen Variablen das aktuelle Datum, also Start Datum und End Datum (+ 7 Tage). Ich habe eine Tabelle Messages, in der Nachrichten stehen, die ein Benutzer erfasst hat mit Create Date.
Ich möchte eben, dass er pro Woche nur einmal eine Nachricht verschicken darf, deshalb das Start + EndDate.

So instanziere ich das:
Code:
startOfWeek.set(currentDate.get(Calendar.YEAR), currentDate.get(Calendar.MONTH), currentDate.getFirstDayOfWeek());
endOfWeek.set(currentDate.get(Calendar.YEAR), currentDate.get(Calendar.MONTH), currentDate.getFirstDayOfWeek()+7);
    
int anzahl = groupManager.getGroupPremiumCircularListByPeriod(groupId, accountId, startOfWeek, endOfWeek).size();

Er bringt mir aber immer 0 bei anzahl zurück. Der Query sieht so aus:
Code:
from Messages as gpc where gpc.group.groupId=? and gpc.account.accountId=? and gpc.createDate >=? and gpc.createDate <=?"
Durch Hibernate werden die Fragezeichen auch korrekt mit den Werten gefüllt, sprich groupid und accountid, sowie das createdate was ich oben setze (startdate) und das vierte Fragezeichen mit dem Enddate (= createdate + 7)

Wenn ich die CreateDate einschränkungen weg lasse, liefert er mir zwei Datensätze (korrekt). Wenn ich dsa so lasse wie oben keinen.
Wenn ich es händisch in der DB eingeben, also so:
Code:
from messages where groupid = 3 and accountid = 1 and createdate >= '2013-03-22' and createdate <= '2013-03-29'

dann liefert er auch zwei, also korrekt. Weil meine letzte Nachricht hat das CreateDate 22.03.2013
Jetzt vermute ich, dass ich bei Java und den instanzieren der Variablen schon was falsch mache****
 
Ja.... wenn ich Nachrichten innerhalb einer Woche checken möchte, muss natürlich die Abfrage anders lauten... ich depp

--> select * from messages where createdate between "heute-7tage" and "heute".....

kühles wasser drinken, nachdenken, und dann fragen :)
 
Jetzt brauch ich doch nochmal hilfe, das gibts es doch nicht.
Hier mal der Code:
Code:
  Calendar currentDate = Calendar.getInstance();
      Calendar dayOfWeek = Calendar.getInstance();
      Calendar dayNow = Calendar.getInstance();
      
      dayNow.set(currentDate.get(Calendar.YEAR), currentDate.get(Calendar.MONTH), currentDate.get(Calendar.DAY_OF_WEEK));
      dayOfWeek.set(currentDate.get(Calendar.YEAR), currentDate.get(Calendar.MONTH), currentDate.get(Calendar.DAY_OF_WEEK)-7);

ich möchte dass bei daynow der heutige Tag (Datum) drinnen steht und bei dayOfWeek das Datum heute genau vor sieben Tage.
Wenn ich das dann meiner Funktion übergebe (Query) kommt immer kein Datensatz, obwohl einer kommen muss.
Deklariere ich die falsch?

Kann ich den Inhalt der Vars iwie vorher ausgeben, bei Debuggen erkenn ich den Inhalt nicht, da so viele Dinge drinnen stehen (ist ja nen Object)

edit:

ich depp, das muss man ja mit calendar.date machen :)
Habs - trotzdem dnake
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück