在windows phone中进行日期时间转换和创建报警

本文关键字:转换 创建 时间 日期 phone windows | 更新日期: 2023-09-27 18:24:51

我正试图使用以下代码在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");
    }

主要问题是,当我在日期和时间选择器中分别将日期设置为2012年2月17日和时间设置为下午12:55时,将创建警报,但在状态栏中,它显示警报设置时间为2012年12月18日凌晨1:45:48。为什么会发生这种情况?这是因为时区还是什么原因?顺便说一句,我的系统时间是印度标准时间IST+5:30,在电话里是美国时间。我还把电话时间格式改成了IST,但没用。有什么建议吗?

在windows phone中进行日期时间转换和创建报警

我不记得DatePicker是如何工作的,但为了确保您应该使用"Date"属性来删除DateTime结果的时间部分:beginTime=Date。日期+时间。TimeOfDay

MSDN说时间值应该是设备的本地时间。请确保某个位置没有UTC(请检查DateTime.Kind属性)。