【发布时间】:2025-11-22 07:55:02
【问题描述】:
我想知道是否有人有在全球范围内部署应用程序的经验以及他们如何处理应用程序中的日期格式?
例如,我在英国,日期格式为 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));
}
}
由于我在整个申请过程中都使用了日期,因此我们将不胜感激地接受有关如何处理申请中日期的任何建议。
谢谢
【问题讨论】:
标签: c# .net datetime deployment datetime-format