Конвертация DateTime и создание будильника в Windows Phone - PullRequest
1 голос
/ 17 февраля 2012

Я пытаюсь установить будильник в Windows Phone, используя следующий код

    private void btnSetAlarm_Click(object sender, RoutedEventArgs e)
    {
        date = (DateTime)datePicker.Value;
        time = (DateTime)timePicker.Value;
        beginTime = date + time.TimeOfDay;

        statusTextBlock.Text = beginTime.ToString(); //Display alarm time

        Alarm alarm = new Alarm("Wakeup4");
        alarm.Sound = new Uri("/Ringtones/ring.wav", UriKind.Relative);
        alarm.BeginTime = beginTime;

        ScheduledActionService.Add(alarm);
        MessageBox.Show("Alarm Created");
    }

Основная проблема заключается в том, что, когда я устанавливаю дату как 17.02.2012, а время как 12:55 после полудня в сборщике даты и времени соответственно, создается аварийный сигнал, но в строке состояния он отображает установленное время сигнала как 2/18. / 2012 1:45:48 Почему это происходит? Это из-за часового пояса или как? Кстати, мое системное время - индийское стандартное время IST +5: 30, а в телефоне - американское время. Я также изменил формат времени телефона на IST, но это не сработало. Есть предложения?

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Я не помню, как работает DatePicker, но просто чтобы убедиться, что вы должны использовать свойство Date для удаления временной части результата DateTime: beginTime = date.Date + time.TimeOfDay

0 голосов
/ 19 февраля 2012

MSDN говорит, что значение времени должно соответствовать местному времени устройства.Убедитесь, что у вас где-то нет UTC (проверьте свойство DateTime.Kind).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...