Discuz!NT官方社区

首页 » Discuz!NT开发与测试 » 界面模板 » 繁体化 » 我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"这个错误.
oimotis - 2007-11-20 16:43:00
我在这个http://nt.discuz.net/showtopic-34100.html贴子中也说过了.
主要原因是在繁体环境下, 默认DateTime.ToString()返回 "2007/11/6 上午 11:29:27" 这种格式,而在简体下返回2007-11-6 11:28:05 . 而在discuzNT的原代码中大量应用了 datetime.tostring();所以繁体化的程序放在简体环境中运行得很好,一但放在繁体中,很多地方就会出现: "從字元字串轉換到 datetime 時,轉換失敗。"这个错误.

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


还有一种方式就是我现在的做法.比较麻烦,我现在的做法是:在源码中,把datetime.tostring()这种代码修改为:datetime.tostring("yyyy-MM-dd HH:mm:ss"); 改动非常之多..
Mororo - 2007-11-20 16:59:00
介紹一樣工具:EmEditor 他可以進行批量文件取代,
設好 在某資料夾下,
尋找 datetime.tostring()
取代 datetime.tostring("yyyy-MM-dd HH:mm:ss")
oimotis - 2007-11-20 17:07:00
说明一下.
尋找 datetime.tostring()
取代 datetime.tostring("yyyy-MM-dd HH:mm:ss")
是不能解决任何"從字元字串轉換到 datetime 時,轉換失敗。"这种错误的.
我觉得还是用
就是把window的日期显示格式改为 yyyy-MM-dd HH:mm:ss
这个方法比较好.
schiang - 2007-11-21 5:40:00
還是不行

可以再詳細說明嗎?
您的文章中有表情符號ㄛ!
GuestFromHK - 2007-11-25 23:25:00
按閣下方法:
"还有一种方式就是我现在的做法.比较麻烦,我现在的做法是:在源码中,把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");

請問怎麼辦?
GuestFromHK - 2007-11-26 12:44:00


引用:
原帖由 oimotis 于 2007-11-20 16:43:00 发表
我在这个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 HH:mm:ss") ?
GuestFromHK - 2007-11-26 12:48:00
在 windows裡,如何
修正window的日期显示格式改为 yyyy-MM-dd HH:mm:ss ?
Mororo - 2007-11-28 17:01:00
方法一:修改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,格式跟一般文件一樣,進行取代就可以
oimotis - 2007-11-28 21:56:00
Compiler Error Message: CS1502: The best overloaded method match for 'string.ToString(System.IFormatProvider)' has some invalid arguments
这个错误是说string.ToString(System.IFormatProvider)' 有一些无效参数。
oimotis - 2007-11-28 21:57:00


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

开始》控制面板》区域和语言选项》区域选项》自定义》。。然后就修改吧。。
havid - 2008-1-22 22:46:00
希望这个问题能解决我遇到的问题:)
njumba - 2008-2-3 9:25:00
试过了,修改windows环境还是不行~~, 还是改在简体环境下使用
starcns - 2008-2-18 14:30:00
/mm /mm /mm
cbi168 - 2008-4-11 10:28:00


引用:
原帖由 njumba 于 2008-2-3 9:25:00 发表
试过了,修改windows环境还是不行~~, 还是改在简体环境下使用


請教大大!
是操作到何功能步驟時會出現 "錯誤訊息" 呢? 謝謝!
1
查看完整版本: 我发个贴,介绍一下繁体环境中"從字元字串轉換到 datetime 時,轉換失敗。"这个错误.