Преобразовать значение типа 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'. "
}
751   3  

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

    Ничего не найдено.