В RethinkDB нужно сохранить документ, в котором содержится несколько полей с датами. По этим датам нужно будет искать документы в RethinkDB. Проблема в том, как сохранить дату в ресинке.
Я получаю значения времени таким образом:
public class Time {
public static String now() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
}
public static long timestampNow() {
return Calendar.getInstance().getTime().getTime();
}
public static long timestamp(String datetime) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date parsedDate = dateFormat.parse(datetime);
return parsedDate.getTime();
} catch(Exception e) {
return 0;
}
}
}
Сохраняю документы в базе так:
@Test
public void insert() {
r.db("test").table("test").insert(
r.hashMap()
.with("key", "value")
.with("objectUID", 1234)
.with("time", r.epochTime(Time.timestampNow()).toIso8601())
).run(conn);
}
При этом получаю ошибку ReqlQueryLogicError: Error in time logic: Year is out of valid range: 1400..10000.. Если сохранять дату как r.iso8601("2013-08-09T18:53:15.012-07:00").toIso8601().run(conn);, получаю ошибку с сообщением о том, что не указан часовой пояс. Но часовой пояс отсутствует в датах документов, которые приходят ко мне.
Как правильно сохранять дату в RethinkDB?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости