У меня есть следующая реализация, использующая базовый UtcNow, а затем преобразование его обратно в пользовательский интерфейс. Цель этого сценария очень проста. Когда я вставляю новый клиент в базу данных, я конвертирую его в UtcNow, поэтому у меня есть отметка времени для этой записи. Когда я показываю его пользователю, я конвертирую его в локальный (например: вы являетесь участником с «dd/MM/yyyy»).Как сохранить временную метку с помощью NodaTime?
Вот моя реализация. Я хотел бы знать, как это сделать через NodaTime. А также, если у кого-то есть лучший подход для этого, я буду рад услышать!
public interface IDateTime
{
DateTime ToUtcNow { get; }
DateTime FromUtc(DateTime dateTimeToConvert);
}
public class DateTimeProvider : IDateTime
{
public DateTime ToUtcNow
{
get { return DateTime.UtcNow; }
}
public DateTime FromUtc(DateTime dateTimeToConvert)
{
return dateTimeToConvert.ToLocalTime();
}
}
Также, как его сохранить в базе данных, в данном случае Sql Server. Какой тип данных я должен использовать? DateTime, DateTimeOffset? Как насчет кода? OffsetDateTime, ZonedDateTime Я очень смущен этим. Я прочитал userguide, но он показывает более сложные сценарии, которые я не могу реализовать в таком простом сценарии.
Заранее благодарен!