Преобразовать значение типа TimeSpan для типа datetime, чтобы добавить к объекта datetimepicker в C #
Я хочу отобразить тип данных временного интервала в datatimerpicker, я должен сначала преобразовать, но я не знаю, как это сделать
private void button1_Click(object sender, EventArgs e)
{
TimeSpan a = new TimeSpan(12, 00, 00);
TimeSpan b = new TimeSpan(13, 00, 00);
TimeSpan r = b - a;
TimeSpan rr = new TimeSpan(r.Ticks / 2);
MessageBox.Show("Testn " + rr); ///this is type TimeSpan
dateTimePicker.Value =Convert.ToDateTime(rr);
// error here
// Additional Information: An object of type 'System.TimeSpan'
// can not be converted to type 'System.IConvertible'. "
}
3 ответов:
Попробуйте:
private void button1_Click(object sender, EventArgs e){ TimeSpan a = new TimeSpan(12, 00, 00); TimeSpan b = new TimeSpan(13, 00, 00); TimeSpan r = b - a; TimeSpan rr = new TimeSpan(r.Ticks / 2); MessageBox.Show("Test\n " + rr); ///this is type TimeSpan dateTimePicker.Value = DateTime.Now.Date.AddMilliseconds(rr.TotalMilliseconds); }
Это ни в коем случае не может быть ответом на ваш вопрос - примите его как просто понимание того, что вы пытаетесь спросить, и тогда мы, возможно, сможем создать реальный вопрос/ответ для него.Средства выбора даты/времени должны иметь компонент даты. Однако мы можем "игнорировать" часть даты..
Я могу только предполагать из-за неясности вопроса... но вот он идет.. мои "могли бы быть" - это то, как это будет выражено в конце...TimeSpan a = new TimeSpan(12, 00, 00); // 12 hours (could be midday) TimeSpan b = new TimeSpan(13, 00, 00); // 13 hours (could be 1 pm) TimeSpan r = b - a; // 1 hour (could be 1 am) TimeSpan rr = new TimeSpan(r.Ticks / 2); // 30 minutes (could be 12:30 am) dateTimePicker.Value = DateTime.Now.Add(rr); // current date time plus 30 minutes // -- OR -- dateTimePicker.Value = DateTime.Now.Date.Add(rr); // current date plus 30 minutes // eg: 2017-08-29 00:30:00Я думаю, что это последнее, что вы ищите но с этим добавлением в смесь...
dateTimePicker.Format = DateTimePickerFormat.Time;
Это увидеть дополнительные сведения: https://msdn.microsoft.com/en-us/library/ms229631(в=против 100).аспн
Если вы хотите отображать только время в элементе управления
DateTimePicker, просто измените значение свойстваFormatнаTime, однако, если вы ищете элемент управления, чтобы использовать его в качестве счетчика, я предлагаю вам использоватьTextBoxилиLabelили что-то еще:)
Comments