为什么发布后日期格式不对?
Why Is Date Format Wrong after publishing?
我有一个 C# MVC5 应用程序,我想在其中以 yyyy/MM/dd
格式显示日期。我使用以下代码:
public TestController : Controller {
public string Date()
{
return String.Format("{0:yyyy/MM/dd}", DateTime.Now);
}
}
当我访问 url /Test/Date 时,我得到以下结果:
- 在我的机器上:
2015/01/23
- 当我在 IIS 上发布它时:
2015-01-23
完全一样的代码,却不一样的结果。知道可能是什么原因吗?
这是因为服务器当前的文化,使用-
作为date separator而不是/
。在 ToString
重载中使用 CultureInfo.InvariantCulture
,例如:
public string Date()
{
return DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
}
我有一个 C# MVC5 应用程序,我想在其中以 yyyy/MM/dd
格式显示日期。我使用以下代码:
public TestController : Controller {
public string Date()
{
return String.Format("{0:yyyy/MM/dd}", DateTime.Now);
}
}
当我访问 url /Test/Date 时,我得到以下结果:
- 在我的机器上:
2015/01/23
- 当我在 IIS 上发布它时:
2015-01-23
完全一样的代码,却不一样的结果。知道可能是什么原因吗?
这是因为服务器当前的文化,使用-
作为date separator而不是/
。在 ToString
重载中使用 CultureInfo.InvariantCulture
,例如:
public string Date()
{
return DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
}