Je regarde le code source de Hazelcast, version 2.5, dans le paquet com.hazelcast.query
, et il semble que les expressions liées à la date utilisés dans un Predicate
besoin d'être dans le format suivant leur type :
java.util.Timestamp - "yyyy-MM-dd hh:mm:ss.SSS"
java.sql.Date - "yyyy-mm-dd"
java.util.Date - "EEE MMM dd HH:mm:ss zzz yyyy"
Si vous pouvez facilement utiliser java.util.Timestamp
, vous pouvez utiliser l'expression de date dans le format que vous avez. Si vous utilisez java.util.Date
, alors pouvez-vous essayer la même date au format "EEE MMM dd HH:mm:ss zzz yyyy"
?
Espérons que cela aide.
code source Hazelcast pertinent de Predicates.java collé ci-dessous:
} else if (type instanceof Timestamp) {
if (value instanceof Date) { // one of java.util.Date or java.sql.Date
result = value;
} else {
result = DateHelper.parseTimeStamp(valueString);
}
} else if (type instanceof java.sql.Date) {
if (value instanceof Date) { // one of java.util.Date or java.sql.Timestamp
result = value;
} else {
result = DateHelper.parseSqlDate(valueString);
}
} else if (type instanceof Date) {
if (value instanceof Date) { // one of java.sql.Date or java.sql.Timestamp
result = value;
} else {
result = DateHelper.parseDate(valueString);
}
Et de DateHelper.java
static final String timestampFormat = "yyyy-MM-dd hh:mm:ss.SSS";
static final String dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy";
static final String sqlDateFormat = "yyyy-mm-dd";
Excellent! Le message d'exception trop générique m'a dérouté. – Fuzzo
Ma modification de cette réponse a été, je crois, rejetée par erreur. Mais je voudrais quand même faire remarquer qu'il n'y a pas de 'java.util.Timestamp' disponible en Java. @vikingsteve s'il vous plaît changer les références à 'java.sql.Timestamp' à la place. Merci. – kasur