2013-04-06 58 views

回答

2

你不能,至少不能100%的可靠性。如果你的日期格式混淆不清,你將永遠無法判斷04/06/2013應該是4月6日還是6月4日。

你唯一的機會是採取更常見的變種,並先嘗試。如果拋出一個錯誤或返回一個不合理的日期(如將來,如果不允許這樣做),請嘗試下一個日期。

你可能也想看看dateutil。它盡力以任何給定格式解析日期。

0

數字日期可能不明確。有一些解決方案;

  • 當月使用的簡稱; 「2013年4月6日」或「2013年6月6日」。缺點是該月份的縮寫與地區相關。
  • 堅持國際標準ISO 8601; YYYY-MM-DD或YYYYMMDD。

如果您從用戶輸入中獲得日期,那麼在所有情況下都不可能在MM-DD和DD-MM之間進行切換。但有些東西可以提供幫助。大於12的數字每天都很可笑,而不是一個月。如果您知道用戶來自歐洲,那麼日期可能會是DD-MM-YYYY。來自美國的人更可能使用MM-DD-YYYY。