public void BaseUtcOffsetShouldBeCorrect()
        {
            var tz = TimeZoneService.FindSystemTimeZoneById("Central Standard Time");

            tz.BaseUtcOffset.Should()
            .Be(TimeSpan.FromHours(-6));
        }
Example #2
0
 public ClockViewModel(ClockInfo info, TimeShiftProvider timeShiftProvider)
 {
     _info = info;
     _timeShiftProvider = timeShiftProvider;
     _timeZoneService   = TimeZoneService.FindSystemTimeZoneById(_info.TimeZoneId);
     _timer.Tick       += OnTimerTick;
     Delete             = new RelayCommand(() => ViewModelStorage.Main.DeleteClock(_info)); //Clean-up
     CalculateTime();
     _timeShiftProvider.PropertyChanged += (s, e) => CalculateTime();
 }
Example #3
0
        private TimeSpan CalculateShift()
        {
            if (SelectedClock == null)
            {
                return(TimeSpan.Zero);
            }
            var service     = TimeZoneService.FindSystemTimeZoneById(SelectedClock.TimeZoneId);
            var currentTime = service.ConvertTime(DateTime.Now).TimeOfDay;
            var timeShift   = _selectedTime - currentTime;

            return(new TimeSpan(timeShift.Hours, timeShift.Minutes, 0));
        }
        public void SpecifyTimeZoneDaylightTest()
        {
            var dt = new DateTime(1990, 2, 1, 12, 0, 0, DateTimeKind.Local); // just a test
            var tz = TimeZoneService.FindSystemTimeZoneById("Central Standard Time");

            var result = TimeZoneService.SpecifyTimeZone(dt, tz);

            result.Hour.Should()
            .Be(12);       // same
            result.Offset.Should()
            .Be(TimeSpan.FromHours(-6));
        }
        private async Task AddItem()
        {
            if (null != SelectedTimeZone && Items.All(i => i.TimeZone.Id != SelectedTimeZone.Id))
            {
                var tz = TimeZoneService.FindSystemTimeZoneById(SelectedTimeZone.Id);
                if (null != tz)
                {
                    Items.Add(new ClockItem(tz.Id));

                    await SaveDataAsync();
                }
            }
        }
        public void ConvertTimeDaylightTimeToArizonaTest()
        {
            var dt = new DateTime(1990, 7, 1, 12, 0, 0, DateTimeKind.Utc);

            // -7
            var tz = TimeZoneService.FindSystemTimeZoneById("US Mountain Standard Time");

            var local = tz.ConvertTime(dt);

            local.Hour.Should()
            .Be(5);
            local.Offset.Should()
            .Be(TimeSpan.FromHours(-7));      // MST
        }
        public void ConvertTimeToCentralDaylightTest()
        {
            var dt = new DateTime(1990, 7, 1, 12, 0, 0, DateTimeKind.Utc);

            // -6 hours Std, -5 Daylight
            var tz    = TimeZoneService.FindSystemTimeZoneById("Central Standard Time");
            var local = tz.ConvertTime(dt);


            local.Hour.Should()
            .Be(7);
            local.Offset.Should()
            .Be(TimeSpan.FromHours(-5));      // CDT
        }
        private void GetTZoneResult()
        {
            var sourceDtm = new DateTime(SelectedDate.Year, SelectedDate.Month, SelectedDate.Day, SelectedTime.Hours, SelectedTime.Minutes, SelectedTime.Seconds); //SelectedDate.AddTicks(SelectedTime.Ticks);

            if (null != SelectedTimeZone)
            {
                var tz = TimeZoneService.FindSystemTimeZoneById(SelectedTimeZone.Id);
                if (null != tz)
                {
                    var offset = tz.ConvertTime(sourceDtm);
                    TZoneResult = offset.DateTime.ToString("yyyy-MM-dd dddd HH:mm:ss");
                }
            }
        }
        public void ConvertTimeDaylightTimeToHawaiiTest()
        {
            var dt = new DateTime(1990, 7, 1, 12, 0, 0, DateTimeKind.Utc);


            // -10
            var tz = TimeZoneService.FindSystemTimeZoneById("Hawaiian Standard Time");

            var local = tz.ConvertTime(dt);

            local.Hour.Should()
            .Be(2);
            local.Offset.Should()
            .Be(TimeSpan.FromHours(-10));      // HST
        }
Example #10
0
        public ClockItem(string tzoneId)
        {
            _tz      = TimeZoneService.FindSystemTimeZoneById(tzoneId);
            TimeZone = _tz.ToTimeZoneSelectItem();
            //TimerTask = new AsyncTimer(1000).WhenTick(i => OnOneSecondPassed()).StartAsync();

            var timer = new DispatcherTimer {
                Interval = TimeSpan.FromSeconds(1)
            };

            timer.Tick += (sender, o) =>
            {
                var offset = _tz.ConvertTime(DateTime.Now);
                Time = offset.DateTime;
                OnPropertyChanged("Time");
            };

            timer.Start();
        }