Это сводится к следующему: как преобразовать метку времени Unix в удобочитаемую дату?
Есть несколько способов сделать это, но один из самых простых - использовать
var readableData = new Date(doc.data().myUnixTimestamp).toLocaleDateString("en-US");
[114 ] Есть варианты для всех локалей. См. MDN в Date.prototype.toLocaleDateString .
Вопрос довольно подобен тому, Как Вы реализуете журнал аудита для своих объектов (Программирование)?
Мы реализовали аналогичное решение, с помощью AOP (aspectJ реализация). Используя этот конкретный могут быть получены точки, и могут быть выполнены определенные операции.
Это может быть включено и включено прочь, когда нам нравится.
Однако наша реализация была в J2EE..
Если бы Вы действительно хотите сделать это в слое приложения, я предложил бы это.
Надежда это помогает..
Вы могли реализовать что-то подобное INotifyPropertyChanged с незначительными различиями. Я извлек большинство INotifyPropertyChanged и изменил его, чтобы быть универсальным и сохранить новые и старые значения. У Вас может затем быть своего рода класс управления, который может слушать это и onSaving и onDeleting, можно иметь дело с изменениями.
public interface INotifyProperyChanged<T>
{
event PropertyChangedEventHandler<T> PropertyChanged;
}
public delegate void PropertyChangedEventHandler<T>(object sender,
PropertyChangedEventArgs<T> e);
public class PropertyChangedEventArgs<T> : EventArgs
{
private readonly string propertyName;
public PropertyChangedEventArgs(string propertyName)
{
this.propertyName = propertyName
}
public virtual string PropertyName { get { return propertyName; } }
public T OldValue { get; set; }
public T NewValue { get; set; }
}
Вы рассмотрели использование простого шаблона уведомления? У Вас мог быть свой уровень служб, генерируют события, такие как NewObject, ChangedObject, DeletedObject, что, будет слушать универсальный уровень служб, который может затем взять объект и сохранить результаты.
Если Вы хотите сохранить состояние объекта, Вы могли бы усилить XML-сериализацию.
Другой подход доступен, если Ваш SQL Server использования 2008, можно реализовать новые опции Аудита, которые позволят Вам контролировать изменения в записях базы данных, которые можно даже отследить (я думаю), когда данные считаны.
В дополнение к некоторым вещам, упомянутым в вышеупомянутом потоке, Шаблон "команда" мог бы помочь при обертывании всех изменений состояния на объекте в команде затем, команда может быть ответственна за хранение журнала аудита, в то время как объект не должен волноваться об аудите себя. Конечно, там добавляется наверху к созданию и расположению команд.
Можно перенести команды вокруг любой существующей структуры объекта, Вы просто делегируете свои действия к слою команды в противоположность выполнению их на объектах непосредственно.