0

在 wpf 应用程序上,我有一个 DatePicker 和一个 TimePicker(来自 Extended WPF Toolkit)。这两个控件返回一个日期时间值。

我想将这两个控件的结果存储在一个 DateTime 变量中。

我试过了 :

myNewEvenement.dDate = DateTimePicker_Date.SelectedDate.Value;
myNewEvenement.dDate += (DateTime)TimePicker_Heure.Value;

但我无法编译这段代码。

请问有什么想法吗?

非常感谢

4

3 回答 3

1

使用DateTime.Add(TimeSpan value)方法创建新DateTime对象(您不能更改现有DateTime结构的值,因为它是不可变的):

myNewEvenement.dDate = DateTimePicker_Date.SelectedDate.Value.Value
                           .Add(TimePicker_Heure.Value.Value.TimeOfDay);

或者更具可读性:

DateTime date = DateTimePicker_Date.SelectedDate.Value.Value;
TimeSpan time = TimePicker_Heure.Value.Value.TimeOfDay;
myNewEvenement.dDate = date.Add(time);
于 2013-03-13T14:56:46.833 回答
1

TimePickerValue是一个DateTime. 既然要给日期加上时间,那么在添加的时候只要加上时间选择器的值的TimeOfDay属性即可,如:

myNewEvenement.dDate = DateTimePicker_Date.SelectedDate.Value;
myNewEvenement.dDate += TimePicker_Heure.Value.TimeOfDay;
于 2013-03-13T14:57:31.477 回答
1

DateTime是一个结构,因此它是不可变的。DateTime您可以使用DateTime.Add适当的方法创建一个新的TimeSpan

long ticks = ((DateTime)TimePicker_Heure.Value).Ticks;
TimeSpan ts = TimeSpan.FromTicks(ticks);
myNewEvenement.dDate = myNewEvenement.dDate.Add(ts);

或直接通过DateTime.AddTicks

myNewEvenement.dDate = myNewEvenement.dDate.AddTicks(ticks);
于 2013-03-13T14:59:59.450 回答