早就知道拉,早在VB6里面就有这个问题,是微软的BUG!

解决方案 »

  1.   

    那也能說是BUG,DateTime.ToString()直接得到系統時間,而時間轉化時,有字符串格式。
      

  2.   

    不能够说是ms的bug。ms又没有保证tostring能够得到一样的内容。
      

  3.   

    在调用ToString的时候,用的是系统默认的Culture(语言风格)和默认的格式"G",而G又取决于默认Culture的DateTimeFormatInfo的属性ShortDatePattern和LongTimePattern,如果用户在控制版面将这两种格式改了,ToString()的时候也会随之改了。所以这绝对不是微软的bug,相反微软为了ToString与系统设置一致而采用了系统默认的格式。如果用户不想用默认设置的话,这样就可以了:
    String str = dt.ToString(CultureInfo.InvariantCulture.DateTimeFormat);