2012-02-17 13 views
1

のDateTime変換やアラームの作成、私は次のコードを使用してWindowsの携帯電話のアラームを設定しようとしている

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 PMの場合、アラームが生成されますが、ステータスバーにはアラーム設定時間が2/18/2012 1:45:48 AMと表示されます。なぜこうなった?これはタイムゾーンなのですか?ところで私のシステム時間はインド標準時間IST +5:30で、電話では米国時間です。私はまた、電話の時刻形式をISTに変更しましたが、動作しませんでした。助言がありますか?

+2

I DatePickerの動作を覚えていないが、 'Date'プロパティを使用してDateTime結果の時間部分を削除する必要があることを確認してください: 'beginTime = date.Date + time.TimeOfDay' –

+1

私のクリスタルボールはあなたに教えてくれます12:50:48 2/17/2012にこれを実行しました。アラームが消えるまで5分ほどかかります。 @ KoolKizあなたは回答としてあなたのコメントを与えるべきで、私たちはすべてそれに投票し、Chanduはそれを受け入れることができます。 –

+0

@KooKiz:あなたは正しいです..答えとして追加してください。 –

答えて

1

私は、日付ピッカーがどのように動作するか覚えていないが、ちょうどあなたがDateTimeの結果の時刻部分を削除するには「日」プロパティを使用する必要があることを確認する:BEGINTIME = date.Date + time.TimeOfDay

0

MSDNによると、時刻の値はデバイスの現地時間である必要があります。どこかにUTCがないことを確認してください(DateTime.Kindプロパティをチェックしてください)。

関連する問題