【问题标题】:C# Associating DatePicker with a TimePickerC# 将 DatePicker 与 TimePicker 关联
【发布时间】:2014-02-26 20:50:39
【问题描述】:

我想知道是否有办法关联两个不同的 dateTimePicker。

例如,我有一个 dateTimePicker 设置为我的 Pick Up Date 并让用户选择一个日期,我还有一个 dateTimePicker 设置为 Pick Up Time 并让用户选择一个时间。我将如何将这两者联系在一起?假设用户选择 2014 年 2 月 26 日作为取件日期和 12:00PM 作为时间,因此他们的取件日期将显示为 2014 年 2 月 26 日 @ 12:00PM。

另外,假设我想再添加两个 dateTimePickers 作为下车日期和时间,我可以比较这两个日期和时间以获得两者之间的小时数吗?

更新:到目前为止,这是我拥有的代码。

DateTime pickUpDate = dateTimePicker1.Value.Date;
DateTime dropOffDate = dateTimePicker2.Value.Date;
int newDate = Convert.ToInt32(dropOffDate.Hour);
int hours = (int)Math.Round((dropOffDate - pickUpDate).TotalHours);

这将给我 24 或 48 小时的一天和两天的差异。

【问题讨论】:

  • 我不知道您所说的关联是什么意思,但您始终可以从两者中获取值并将它们放在 javascript 或后面的代码中
  • 到目前为止你得到了什么?

标签: c# datepicker timepicker


【解决方案1】:

DateTime pickupTime = dateTimePicker1.Value.Date.AddHours(dateTimePicker2.Value.Hour); 呢?

然后你可以用 dropoffTime 做类似的事情,然后做TimeSpan duration = dropoffTime - pickupTime;

【讨论】:

  • 谢谢!这让我朝着正确的方向前进。 int hours = (int)Math.Round((dropOffTime - pickUpTime).TotalHours);是我用来计算的。
【解决方案2】:

我只是在第一个控件发生更改时通过设置另一个控件的 value 属性来链接它们。

    private void datePicker_ValueChanged(object sender, EventArgs e)
    {
        timePicker.Value = datePicker.Value;
        selectedTimeUtc.Text = timePicker.Value.ToString();           
    }

    private void timePicker_ValueChanged(object sender, EventArgs e)
    {
        datePicker.Value = timePicker.Value;
        selectedTimeUtc.Text = timePicker.Value.ToString();           
    }

希望这会有所帮助,

干杯,

凯文

【讨论】:

    猜你喜欢
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多