Каков идиоматический способ получить системное время как LocalDateTime
в Noda Time? Самый прямой метод, о котором я мог думать, будет
var dt = DateTime.Now
LocalDateTime systemTime = new LocalDateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute);
но учитывая, что Noda Time целая цель - заменить DateTime на что-то, что имеет более приятную семантику, я предположил, что существует предпочтительный метод, чем использовать DateTime
в выше способ. Лучшее, что я мог придумать с помощью средств Noda, -
var zone = NodaTime.TimeZones.BclDateTimeZone.ForSystemDefault();
LocalDateTime systemTime = SystemClock.Instance.Now.InZone(zone).LocalDateTime;
но это кажется довольно многословным.