討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 軟體開發過程中有哪些資安漏洞? 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
中華民國曆,日期轉換問題請教
更改我的閱讀文章字型大小
作者 : toyboy(toyboy) 貼文超過200則人氣指數超過30000點
[ 貼文 438 | 人氣 37407 | 評價 1120 | 評價/貼文 2.56 | 送出評價 71 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/3/2 上午 11:31:22
各位大大:
     前幾天剛好碰到四年一次的2/29,結果發現了一個日期轉換問題
     string strDate="2012/02/29 11:01:03"
     DateTime t = Convert.ToDateTime(strDate);
     在Convert時,會出現"字串未被辨認為有效的 DateTime。"

     但此錯誤情況,只會在[日期類型]設為[中華民國曆]時才會發生,[西曆(中文)]
     或[西曆(英文)]都不會發生錯誤
     那該如何排除此問題呢?
     謝謝大大的教導!!謝謝^_^
作者 : marlon(marlon) C#卓越專家貼文超過200則
[ 貼文 495 | 人氣 1886 | 評價 3510 | 評價/貼文 7.09 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/3/3 下午 01:23:59
你給的字串是西歷, 要指定用西歷去轉換
DateTime t = Convert.ToDateTime("2012/2/29", System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat);
沒有特別指定會用該執行緒目前所使用的 CultureInfo, 預設就是OS所指定的,
所以 OS 設成民國, "2012/2/29" 就代表民國2012年2月29日,
在 DataTable 的 Expression 中日期用 #2012/2/29# 會用西曆去轉換,
用 '2012/2/29' 則等同不指定曆法用字串去轉換, 遇到OS設成民國年也會錯
作者 : bill_chungiii(Bill Chung)討論區板主
[ 貼文 109 | 人氣 0 | 評價 240 | 評價/貼文 2.2 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/3/4 上午 02:40:11
請愛用 TaiwanCalendar 類別
http://msdn.microsoft.com/zh-tw/library/system.globalization.taiwancalendar.aspx
 板主 : 小朱
 > C# - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C# - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C#
1 小朱 6270 
2 蹂躪 2700 
3 HKLN.net 2440 
4 marlon 2130 
5 joe 1320 
6 識丁 910 
7 好說 860 
8 愛睏魚 770 
9 總幹事 720 
10 Demonbane 600 
C#
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125