我的时间戳格式很少
时间戳格式包含 YYYY MM DD hh mm ss S AM/PM CountryName/CityName(zone)
YYYY-MM-DD HH:mm:ss.S
YYYY-MM-DD HH:mm:ss.S AM/PM
YYYY-MM-DD HH:mm:ss.S AM/PM z
YYYY-MM-DD HH:mm:ss.z
我想对时间戳值进行验证,如果时间戳值是未来值(或大于现有值),那么想要向用户显示.通知消息。
对于日期格式,我编写了以下代码来检查未来日期
DateTimeFormat df = DateTimeFormat.getFormat(dateFormat);
Date updateDate = df.parseStrict(newDateValue);
Date synchronizedDate = df.parseStrict(synchronizedDB_DateValue);
boolean isFutureDate = updateDate.after(synchronizedDate);
if (isFutureDate ) {
// send notification
}
else {
// do nothing
}
编辑:
以下代码仅适用于时间戳格式 = YYYY-MM-DD HH:mm:ss.S
String timestampFormat = "YYYY-MM-DD HH:mm:ss.S"; // It works
//String timestampFormat = "YYYY-MM-DD HH:mm:ss.S AM/PM";
//String timestampFormat = "YYYY-MM-DD HH:mm:ss.S AM/PM z"
//String timestampFormat = "YYYY-MM-DD HH:mm:ss.S z ";
String newTimestampFormat= timestampFormat.replaceAll("-", ".");
newTimestampFormat = newTimestampFormat.replace("YYYY", "yyyy");
newTimestampFormat = newTimestampFormat.replace("AM/PM", "a");
DateTimeFormat df = DateTimeFormat.getFormat(newTimestampFormat);
Date updateDate = df.parse(newTimeStampValue); // UPDATED VALUE = 2013.08.21 00:00:00.123
Date synchronizedDate = df.parseStrict(synchronizedDB_DateValue); // current or old db value = 2013.07.11 00:00:00.123
boolean isFutureTimestamp = updateDate.after(synchronizedDate);
if (isFutureTimestamp ) {
// send notification
}
else {
// do nothing
}
对于所有其他时间戳格式,我需要做哪些更改?
提前致谢。