在.net DateTimePicker控件中以编程方式显示值和值的不匹配

时间:2013-06-09 13:45:22

标签: c# .net winforms datetimepicker

我在使用.net内置DateTimePicker控件时遇到问题 - 有时尝试以编程方式从控件中获取Value属性我得到的值与当前显示的值不同。

例如 - 代码行:

DateTime supposed_date = dtp_StartDate.Value;

尽管显示在dtp_StartDate值中,但它设置为"03.03.2013 12:03:05"我得到supposed_date.Value == "03.03.2013 11:33:07"

这个问题不一致,所以我无法理解我做错了什么。

2 个答案:

答案 0 :(得分:0)

Hi Mikhail Tregubov试试这个

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            DateTime SomeDate = dateTimePicker1.Value.ToLocalTime().ToUniversalTime();
        }

它将设置为确切的值

private void button1_Click(object sender, EventArgs e)
        {
            DateTime Suposed_Date = dateTimePicker1.Value.ToLocalTime().ToUniversalTime();
        }

这是按钮点击

答案 1 :(得分:0)

我终于找到了问题的根源: 在父表单的一个方法中,包含DateTimePicker控件的父控件,我有一个代码部分,它更改DateTimePicker的日期时间输入的自定义格式掩码。虽然在更改格式后没有异常,并且在更改输入值的自定义格式掩码之后没有任何代码执行问题的指示 - 任何用户编辑DateTimePicker都不会影响控件的实际Value属性 - 只显示值。