我想知道是否有人有在全球部署应用程序的经验以及他们如何处理应用程序中的日期格式?
例如,我在英国,日期格式是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));
}
}
由于我在整个申请过程中都使用了日期,因此我将不胜感激地接受有关如何处理申请中日期的任何建议。
谢谢