Ajax Control Tool Kit Time Zone issue
我在Web应用程序中使用Ajax Control Kit。 问题是当我使用印度时区访问应用程序然后它工作正常但是当我选择中央时间(美国和加拿大)的时区时,日历将显示日期显示为选定日期-1。 例如,如果我选择16.Oct.2012,它将显示(在extendar控制中)为15.Oct.2012。 我尝试了以下代码,但没有帮助:
1 2 3 4 5 6 7 | protected void Page_Load(object sender, EventArgs e) { string Lang ="en-US"; //set your culture here System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Lang); } EnableScriptGlobalization ="true"; |
另外在调试期间,我发现Javascript函数本身的发送者存储了错误的值,即日期=选择日期-1
1 | function setDateIntoHiddenField(sender, args) |
任何想法或建议?
你为什么要尝试罗马尼亚文化?
尝试美国文化,如:
1 2 3 | string Lang ="en-US"; //set your culture here System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Lang); |
中部时间是UTC -5
罗马尼亚时间是UTC + 2
像这样设置datepicker值:
1 | DateTime.UtcNow |
您可以在此处找到有关使用时区的更深入的说明:
如何优雅地处理时区
您可以尝试使用以下代码在客户端获得UTC日期
1 2 | var localDate = sender.get_selectedDate(); var dateTime = new Date(localDate.getUTCFullYear(), localDate.getUTCMonth(), localDate.getUTCDate()).format("MMM dd, yyyy"); |
然后使用
你已经得到了一个很好的建议,你应该使用UTC日期值而不是本地值。
当你设置SelectedDate值时,它被Calendar扩展器控件视为UTC日期,所以如果设置
顺便说一下,您可以尝试设置