private TimeSpan GetTimeSpan(ZonedDateTime dateTime)
 {
     if (IsAllDay)
     {
         return dateTime.DateTime.TimeOfDay;
     }
     else
     {
         var localDateTime = dateTime.ToLocalTime();
         return localDateTime.TimeOfDay;
     }
 }
        private static void SetTimeSpan(ZonedDateTime dateTime, TimeSpan timeSpan)
        {
            var localDateTime = dateTime.ToLocalTime();
            localDateTime = localDateTime.Date + timeSpan;

            dateTime.DateTime = localDateTime.ToUtcTime();
        }
        private void SetTime(ZonedDateTime current, DateTimeOffset value)
        {
            if (IsAllDay)
            {
                current.DateTime = value.Date;
            }
            else
            {
                var local = current.ToLocalTime();
                var newTime = value.Date + local.TimeOfDay;

                current.DateTime = newTime.ToUtcTime();
            }
        }