民國轉西元

  • 7631
  • 0

摘要:民國轉西元

之前看到有人寫的民國轉西元年程式,覺得想法不錯,就貼上來囉...

string a = "991021";
int b;
if (!int.TryParse(a, out b))
{
    label1.Text = "日期格式轉換錯誤!";
    return;
}

int vYear = b/10000;
int vMonth = (b % 10000)/100;
int vDay = (b % 100);
DateTime vDate = DateTime.Parse(string.Format("{0}/{1}/{2} 00:00:00", vYear + 1911, vMonth, vDay));

在拿到的日期資料是字串格式時,連我自己都會很直覺的想到字串就用字串去處理
可是偏偏在我還活著的這個moment會遇到民國百年造成字串可能是六位或七位數字所組成
結果之前就碰過有人乾脆把不滿七位數字的字串前面補0,來統一並方便處理
只是這樣...真的不是什麼good idea...
像上面這樣寫,不但不用判斷一堆東西,還可以用到民國 214748年都沒問題XD