在Visual Studio中构建MVC应用程序。当我测试它(在IIS Express中本地运行)时,它正确显示datetime.tolongdatestring()格式。当我发布网站时,它显示的是正确的日期,但是采用的是基本格式,如2016年2月18日,而不是长格式。
网站发布在运行IIS 7.0,Server 2K8 Standard的网络服务器上。可能与文化或区域环境有关,但请指出正确的方向......
以下是我模特的一部分。如上所述,下面的字符串DisplayDate显示正确的格式与本地运行的星期几,发布的网站没有。尝试过多个地点,平台等。
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime DateAndTime { get; set; }
//Display long date format
public string DisplayDate { get { return (DateAndTime.ToLongDateString()); } }
答案 0 :(得分:0)
基于上面建议的评论,我能够使用此命令使其正常工作。注意Thread Current Culture部分(上面的修改代码):
[Required]
[Display(Name = "Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime DateAndTime { get; set; }
//Display long date format
public string DisplayDate
{
get
{
// Sets the CurrentCulture property to U.S. English.
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
return (DateAndTime.ToLongDateString());
}
}