Discuz!NT 2.5 正式版 下载
beta、RC版升级补丁
Comsenz 招聘信息
首届Discuz!NT 模板大赛圆满结束
著名音乐网站SoGua网、分贝网
采用Discuz!NT搭建社区
FIFA Online2官网论坛使用Discuz!NT
游戏城寨论坛使用Discuz!NT搭建
第二届优秀版主评选揭晓
Discuz!NT 2.5正式开源 Discuz!NT文档中心
用户整合说明文档
Discuz!NT亮相微软Tech-Ed 2007
Discuz!NT情景搞笑短片抢先看
1/2页12 跳转到查看:6136
发新话题 回复该主题

我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"这个错误.

我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"这个错误.

我在这个http://nt.discuz.net/showtopic-34100.html贴子中也说过了.
主要原因是在繁体环境下, 默认DateTime.ToString()返回 "2007/11/6 上午 11:29:27" 这种格式,而在简体下返回2007-11-6 11:285 . 而在discuzNT的原代码中大量应用了 datetime.tostring();所以繁体化的程序放在简体环境中运行得很好,一但放在繁体中,很多地方就会出现: "從字元字串轉換到 datetime 時,轉換失敗。"这个错误.

修正这个错误像是很简单,就是把window的日期显示格式改为 yyyy-MM-dd HHss 即可;


还有一种方式就是我现在的做法.比较麻烦,我现在的做法是:在源码中,把datetime.tostring()这种代码修改为atetime.tostring("yyyy-MM-dd HHss"); 改动非常之多..

TOP

 

回复:我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"...

介紹一樣工具:EmEditor 他可以進行批量文件取代,
設好 在某資料夾下,
尋找 datetime.tostring()
取代 datetime.tostring("yyyy-MM-dd HHss")

TOP

 

回复 2F Mororo 的帖子

说明一下.
尋找 datetime.tostring()
取代 datetime.tostring("yyyy-MM-dd HHss")
是不能解决任何"從字元字串轉換到 datetime 時,轉換失敗。"这种错误的.
我觉得还是用
就是把window的日期显示格式改为 yyyy-MM-dd HHss
这个方法比较好.

TOP

 

回复: 我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"...

還是不行

可以再詳細說明嗎?
您的文章中有表情符號ㄛ!

TOP

 

回复 1F oimotis 的帖子

按閣下方法:
"还有一种方式就是我现在的做法.比较麻烦,我现在的做法是:在源码中,把datetime.tostring()这种代码修改为atetime.tostring("yyyy-MM-dd HHss"); 改动非常之多.. "
在  forrumindex.aspx 遇到如下問題:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1502: The best overloaded method match for 'string.ToString(System.IFormatProvider)' has some invalid arguments

Source Error:



Line 354:    templateBuilder.Append("            <td>\r\n");
Line 355:    templateBuilder.Append("                <a href=\"userinfo.aspx?userid=" + pm.Msgfromid.ToString().Trim() + "\" target=\"_blank\">" + pm.Msgfrom.ToString().Trim() + "</a>\r\n");
Line 356:    templateBuilder.Append("                <span class=\"fontfamily\">" + pm.Postdatetime.ToString("yyyy-MM-dd HHmmss").Trim() + "</span>\r\n");
Line 357:    templateBuilder.Append("            </td>\r\n");
Line 358:    templateBuilder.Append("        </tr>\r\n");

請問怎麼辦?

TOP

 

回复: 我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"...



引用:
原帖由 oimotis 于 2007-11-20 16:430 发表
我在这个http://nt.discuz.net/showtopic-34100.html贴子中也说过了.
主要原因是在繁体环境下, 默认DateTime.ToString()返回 "2007/11/6 上午 11:29:27......


請問:
datetime.tostring()
取代 datetime.tostring("yyyy-MM-dd HHmmss") 還是 datetime.tostring("yyyy-MM-dd HHss") ?

TOP

 

回复 1F oimotis 的帖子

在 windows裡,如何
修正window的日期显示格式改为 yyyy-MM-dd HHss ?

TOP

 

回复:我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"...

方法一:修改win2003設定
時間格式改為 H:mm:ss
簡短日期改為 yyyy-M-d
日期分格符號改為 -
方法二:修改源碼上格式,在dnt1.0為Utils.cs 729行左右開始
HH:mm:ss 改為 tt hh:mm:ss
yyyy-MM-dd 改為 yyyy/MM/dd
yyyy-MM-dd HH:mm:ss 改為 yyyy/MM/dd tt hh:mm:ss
yyyy-MM-dd HH:mm:ss:fffffff  改為 yyyy/MM/dd tt hh:mm:ss:fffffff
方法三:對bin的Discuz.Common.dll進行修改
這方法只能對有反匯編基礎或有用十六進制基礎修改使用
參考方法二,相關文件是用了utf-16,格式跟一般文件一樣,進行取代就可以

TOP

 

回复 5F GuestFromHK 的帖子

Compiler Error Message: CS1502: The best overloaded method match for 'string.ToString(System.IFormatProvider)' has some invalid arguments
这个错误是说string.ToString(System.IFormatProvider)' 有一些无效参数。

TOP

 

回复: 我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。&quot..



引用:
原帖由 GuestFromHK 于 2007-11-26 12:480 发表
在 windows裡,如何
修正window的日期显示格式改为 yyyy-MM-dd HHss ?

开始》控制面板》区域和语言选项》区域选项》自定义》。。然后就修改吧。。
最后编辑oimotis 最后编辑于 2007-11-28 21:59:20

TOP

 
1/2页12 跳转到
发表新主题 回复该主题