目的:在简体、繁体、en版里都正常按日期段查询,但在繁体版里出现以下错误:char 資料型別轉換成 datetime 資料型別時,產生超出範圍的 datetime 值。 不明白“超出范围”何意

解决方案 »

  1.   

    最好在查询日期的时候强制转换一下格式DateTime.Now.ToString("yyyy/MM/dd");
      

  2.   

    to cnhgj(戏子.Com?俺真TMD够菜) 在初始化TextBox时已经把当前日期强制转换成yyyy-MM-dd了,查询时只是把它转换成DataTime就行,可在繁体版就出以上错误。to ASSASSIN_GEN(元)什么是民国年?和公元纪年法有什么不同?
      

  3.   

    不用转换成DateTime啊,你用的是Sql Server吗?
    select * from tb where dt = '" & text1.Text & "'
    Access
    select * from tb where dt = #" & text1.Text & "#
      

  4.   

    to ASSASSIN_GEN(元) 可我用当前日期DateTime.ToString("yyyy-MM-dd")初始到两个TextBox时不是民国年,而是正常日期。而且另一个增加记录页面也是用当前日期它也不说超出范围,为什么?
      

  5.   

    繁体中文系统,或者说 zh-TW 的 culture 中,DateTime 的默认样式应该是:2003/9/22 下午 10:09 这样的形式,如果你输入的是 zh-CN culture 中的形式 2003-9-22 22:09 当然要报错。所以在做“国际化和本地化”程序时,应该尽可能避免使用日期的直接转化,使用日期时,要特别注意当前线程的 culture;也可以通过指定特定的 culture 来简单的(但不一定适用于所有情形) 解决问题,如在 web.config 中指定:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>    <system.web>        <globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" />    </system.web></configuration>或者也可以在特定的 Web Form 中指定 culture, 如:<%@ Page Culture="zh-CN" %>