アプリケーションを世界中に展開した経験がある人がいるかどうか、アプリケーションで日付形式をどのように処理したかを知りたいです。
たとえば、私は英国を拠点としており、日付形式は ですDD/MM/YYYY
が、日付形式が であるため、米国の顧客に対してアプリケーションがクラッシュしますMM/DD/YYYY
。
日付はテキストとして構成ファイルに保存され、アプリで呼び出されて使用されます。ただし、英国、ヨーロッパ、オーストラリアの顧客には問題はありませんが、米国とカナダの顧客には問題があります。
私は.Netが日付を処理すると仮定し、使用するDateTime.Parse(strDateFromFile)
とクラッシュします。つまり"12/31/2010"
、失敗しました"31/12/2010"
が、大丈夫でした。
ローカルの日付形式が正しく解析されるようにするために、.Net でできることはありますか。
文字列を既知の形式に変換してから再度変換しようとしましたが、問題があるようです:
static public string DateToString(DateTime dtDate)
{
string strDay = dtDate.Day.ToString();
string strMonth = String.Format("{0:MMMM}", dtDate).ToString();
string strYear = dtDate.Year.ToString();
string strDate = string.Format("{0}-{1}-{2}", strDay, strMonth, strYear);
return strDate;
}
static public DateTime StringToDate(string strDate)
{
DateTime dtDate = new DateTime();
try
{
dtDate = DateTime.Parse(strDate);
}
catch (Exception ex)
{
Logger.Log.Error(MethodBase.GetCurrentMethod().ToString(), ex);
System.Windows.Forms.MessageBox.Show(string.Format("DEBUG INFO: Date Format: {0}\r\n{1}", strDate, ex.Message));
}
}
申請書全体で日付を使用しているため、申請書で日付をどのように扱うべきかについてのアドバイスはありがたく受け入れられます。
ありがとう