我使用这两种方法来填充选择的日期列表。当我在本地进行测试时,一切都很好但是当我将网站发布到天蓝色服务器(应该是欧洲的)时,显示的时间是美国格式。
public class DateItem
{
public DateTime Value { get; set; }
public string Text { get; set; }
}
public static DateTime FirstDateOfWeek(int weekno, int yearno)
{
CultureInfo uk = new CultureInfo("en-GB");
DateTime jan1 = new DateTime(yearno, 1, 1);
int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek;
DateTime firstThursday = jan1.AddDays(daysOffset);
var cal = CultureInfo.CurrentCulture.Calendar;
int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
var weekNum = weekno;
if (firstWeek <= 1)
{
weekNum -= 1;
}
var result = firstThursday.AddDays(weekNum * 7);
return result.AddDays(-3);
}
public void GetWeekDates(int weekno, int yearno) //set date for specific week/year
{
weekDates = new List<DateItem>();
// Get the week dates based on the current week
var day = FirstDateOfWeek(weekno, yearno);
DateItem dateItem;
for (int i = 0; i < 7; i++)
{
dateItem = new DateItem();
dateItem.Text = day.AddDays(i).ToShortDateString();
dateItem.Value = day.AddDays(i).Date;
weekDates.Add(dateItem);
}
entryDate = day.Date;
}
我希望能够将我的日期时间格式化为欧洲,这样无论我在哪里发布代码,时间格式都将被强制为欧洲。
当我在发布时检查html的核对清单时,我得到了。
<option value="10/5/2015 12:00:00 AM">10/5/2015</option>
当我在本地测试时,我得到了。
<option selected="selected" value="05/10/2015 00:00:00">05/10/2015</option>
来自同一个数据库。
答案 0 :(得分:1)
通过永久改变应用文化,解决了这个问题。
<system.web>
<globalization uiCulture="en-GB" culture="en-GB" />
</system.web>
这使我在整个应用程序中的所有日期时间都保持欧洲格式