可以说做了这么久第一次遇到这个问题,大家都知道DateTimePicker的Text值是Value的格式化值,但是今天做了一个程序,却赫然发现:Text值和Value值竟然不一样,我的格式化为Long,Value值2008-5-4 11:41:09,但是当我取他的Text值时,竟然是2008年5月29号,我以为是我看错了,然后去跟踪,大家知道DateTimePicker控件的Text和Value是并列着的,但是确发现:
Text="2008年5月29号"
Value={"2008-5-4 11:41:09"}不知道如何操作????什么情况下会出现如此情况???
我在赋值的时候是Value="2008-5-4 11:41:09";怎么会出现这样的结果呢?

解决方案 »

  1.   

    大家都知道DateTimePicker的Text值是Value的格式化值========将 Value(DateTime类型)格式化的时候,默认会采用当前线程的区域/语言文化来格式的,你的系统是简体中文自然出来的 Text 是 2008年5月29日
      

  2.   

    手动控制格式有两个属性可用DateTimePicker.Format = DateTimePickerFormat.Custom;
    DateTimePicker.CustomFormat = "yyyy-M-d"; // yyyy-MM-dd hh:mm:ss
      

  3.   

    一个是时间类型一个是字符类型,
    而且this.dateTimePicker1.Format影响格式化的方式。
    DateTime dateTime = this.dateTimePicker1.Value;
      

  4.   

    “将 Value(DateTime类型)格式化的时候,默认会采用当前线程的区域/语言文化来格式的,你的系统是简体中文自然出来的 Text 是 2008年5月29日”针对这个,可是我的Value是5.4号呀?即使按照区域/语言,即使我的是简体中文,那么格式话出来为啥是2008年5月29日?首先,可以肯定的说,我通过dateTimePicker1.Value得出来的就是5.4,所以字符串肯定不会有错,为啥.Text和.Value日期不一致呢???