Как преобразовать временную стоимость в формат YYYY-MM-DD в Java?

Я задаю этот вопрос из-за вашей просьбы от здесь .

Когда вы дублируете данные, нужно помнить одну вещь. Точно так же, как вы добавляете данные, вы должны поддерживать их. Другими словами, если вы хотите обновить / обнаружить объект, вы должны делать это в каждом месте, где он существует.

Какие шаблоны (если таковые имеются) обычно используются для отслеживания дублированных данных, чтобы их можно было корректно обновлять во избежание противоречивых данных?

blockquote>

Чтобы отслеживать все операции что нам нужно сделать, чтобы иметь согласованные данные, мы добавляем все операции в пакет. Вы можете добавить одну или несколько операций обновления для разных ссылок, а также удалить или добавить . Об этом см.:

Как насчет создания реляционной таблицы для каждого уникальное местоположение, в котором могут существовать данные, которое используется для восстановления путей, требующих обновления.

blockquote>

По моему мнению, нет необходимости добавлять дополнительную «реляционную таблицу», но если вы чувствуете себя комфортно с ней, продолжайте и используйте ее.

Затем вы используете их для восстановления путей дублированных данных для поста (например, /users/[boardOwnerID]/boards/[boardID]/posts/[postID])?

blockquote>

Да, вам нужно перейти к каждому document() метод, соответствующий идентификатор документа, чтобы заставить операцию обновления работать. К сожалению, нет подстановочных знаков в путях Cloud Firestore к документам. Вы должны идентифицировать документы по их идентификаторам.

В качестве альтернативы, вы могли бы вместо этого использовать posts_denormalization_tracker, который представляет собой просто набор уникальных идентификаторов postID, который включает в себя подколлекцию местоположений, на которые был дублирован пост? это также не является необходимым, поскольку требует дополнительных операций чтения. Поскольку в Firestore все касается количества операций чтения и записи, я думаю, вам следует еще раз подумать об этом подходе. Пожалуйста, смотрите Firestore использование и ограничения .

, если только правила безопасности Firestore не являются достаточно мощными, чтобы разрешить операции добавления для подколлекции / posts_denormalization_tracker / [postID] / location, не разрешая чтение или обновление подсборки или родительской коллекции postIDs.

blockquote>

Правила безопасности Firestore настолько мощны, чтобы сделать это. Вы также можете разрешить читать, писать или даже применять правила безопасности в отношении каждой необходимой вам операции CRUD.

Я в основном ищу разумный способ отследить сильно денормализованные данные.

blockquote>

Самый простой способ, который я могу придумать, - это добавить операцию в структуру данных типа ключ и значение. Давайте предположим, что у нас есть карта, которая выглядит следующим образом:

Map map = new HashMap<>();
map.put(customObject1, reference1);
map.put(customObject2, reference2);
map.put(customObject3, reference3);
//And so on

Итерация по карте и добавление всех этих ключей и значений в пакет, фиксация пакета и все.

9
задан Adrian Toman 18 July 2012 в 11:50
поделиться

5 ответов

Что-то как:

Date lm = new Date(lastmodified);
String lasmod = new SimpleDateFormat("yyyy-MM-dd").format(lm);

Посмотрите javadoc для SimpleDateFormat.

28
ответ дан 4 December 2019 в 06:31
поделиться
final Date modDate = new Date(lastmodified);
final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
final String lasmod = f.format(modDate);

SimpleDateFormat

4
ответ дан 4 December 2019 в 06:31
поделиться
String lasmod = new SimpleDateFormat("yyyy-MM-dd").format(new Date(lastmodified));

Ищите корректный шаблон, который Вы хотите для SimpleDateFormat... Я, возможно, включал неправильный из памяти.

3
ответ дан 4 December 2019 в 06:31
поделиться
Date d = new Date(lastmodified);
DateFormat form = new SimpleDateFormat("yyyy-MM-dd");
String lasmod = form.format(d);
1
ответ дан 4 December 2019 в 06:31
поделиться

Попытка:

import java.text.SimpleDateFormat;
import java.util.Date;

long lastmodified = file.lastModified();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String lastmod =  format.format(new Date(lastmodified));
1
ответ дан 4 December 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: