none
dateTimePicker多语言问题。难。 RRS feed

  • 问题

  • 我希望在dateTimePicker中显示中文习惯的 2010年10月21日 21:47:20的习惯。

    将此控件的CustomFormat设置为yyyy年MM月dd日 HH:mm:ss,将Format设置为Custom即可。

    但是如果这些设置,在windows控制面板中区域或语言选项中的区域设置为德语(德国)或其它区域时,显然我们自定义的yyyy年MM月....

    这样的格式是不符合德语(德国)或其它语言文化的。德语(德国)长日期表示为 Donnerstag, 21. Oktober 2010,时间表示相同。

    请问,我如何做才能适合不同区域的文化。谢谢。

    2010年10月21日 13:53

答案

  • 试试利用如下代码自动获取当前正在使用的文化的日期时间格式:

    System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
    string dtPattern = ci.DateTimeFormat.FullDateTimePattern;
    


    理解的越多,需要记忆的就越少
    • 已标记为答案 heywap 2010年10月22日 12:29
    2010年10月22日 9:07
    版主

全部回复

  • 你好

    或者你可以嘗試用IF STATEMENT 或 SELECT CASE

    和 用 System.Globalization.CultureInfo.CurrentCulture.Name

    來找出 現在的 区域设置 是什麼..之後在 CustomFormat 中設置到相關的 FORMAT

    Please correct me if my concept is wrong


    Chi
    2010年10月21日 22:01
    版主
  • 感谢您的回复。

    我曾想到过这个办法,如果这样来做的话,有一个缺陷,就是要找到每种文化对日期时间的格式,再进行设置,工作量非常大。

    2010年10月22日 0:55
  • 试试利用如下代码自动获取当前正在使用的文化的日期时间格式:

    System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
    string dtPattern = ci.DateTimeFormat.FullDateTimePattern;
    


    理解的越多,需要记忆的就越少
    • 已标记为答案 heywap 2010年10月22日 12:29
    2010年10月22日 9:07
    版主
  • Very Nice.
    2010年10月22日 12:29