次のコードがあります。
DateTime endTime = new DateTime(01, 01, 01, 00, 00, 00);
endTime = endTime.AddYears(currentYear - 1);
endTime = endTime.AddMonths(currentMonth - 1);
endTime = endTime.AddDays(currentDay - 1);
hourToWaitTo = Convert.ToInt32(txtboxHourToWaitTo.Text);
minuteToWaitTo = Convert.ToInt32(txtboxMinuteToWaitTo.Text);
endTime = endTime.AddHours(hourToWaitTo);
endTime = endTime.AddMinutes(minuteToWaitTo);
しかし、 endTime には何も追加しません
EDIT1:
currentYear、currentMonth、currentDay を次のように設定します。
int currentYear = Convert.ToInt32(DateTime.Now.ToString("yyyy"));
int currentMonth = Convert.ToInt32(DateTime.Now.ToString("MM"));
int currentDay = Convert.ToInt32(DateTime.Now.ToString("dd"));
hourToWaitTo と minuteToWaitTo は、ユーザーがテキストボックスで設定します。
ユーザーがコンピューターをシャットダウンする時刻 (例: 12:25) を設定し、シャットダウンまでの残り時間:分:秒を示すカウントダウンも必要です。私はこれをすべて行うことができましたが、上記の endTime の問題を修正できませんでした。
解決:
この問題の解決策は非常に簡単です。
DateTime endTime = new DateTime(currentYear, currentMonth, currentDay, hourToWaitTo, minuteToWaitTo, 0);
以前にこれを実行しようとしましたが、何らかの理由でエラーが発生していました。上記の変数を設定するには、次を使用しました。
int currentYear = Convert.ToInt32(DateTime.Now.ToString("yyyy"));
int currentMonth = Convert.ToInt32(DateTime.Now.ToString("MM"));
int currentDay = Convert.ToInt32(DateTime.Now.ToString("dd"));
と
int minuteToWaitTo = Convert.ToInt32(txtboxMinuteToWaitTo.Text);
int hourToWaitTo = Convert.ToInt32(txtboxHourToWaitTo.Text);
ご協力ありがとうございました。