gpt4 book ai didi

javascript - CalendarExtender 说选择了错误的日期,可能与时区有关

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:01 27 4
gpt4 key购买 nike

我有一个包含 TextBoxCalendarExtender 的页面,应该允许我检测选择的日期。但是,这是报告未选择的日期。

<asp:TextBox ID="tbEffectiveDate" runat="server"
CssClass="input-small"
MaxLength="10"
Text='<%# Bind("NewEffectiveDate", "{0:MM/dd/yyyy}") %>'>
</asp:TextBox>
<ajaxToolkit:CalendarExtender ID="atkEffectiveDate" runat="server"
FirstDayOfWeek="Sunday"
TargetControlID="tbEffectiveDate"
Format="MM/dd/yyyy"
OnClientDateSelectionChanged="CheckForSunday">
</ajaxToolkit:CalendarExtender>

本质上,我要确保用户选择了星期日,但是当我在日历上选择一天时,JavaScript 会说它是前一天。我很困惑。

function CheckForSunday(sender, args) {
var selectedDate = new Date();
selectedDate = sender.get_selectedDate();
// Both of these show the date before the date was selected
alert(sender.get_selectedDate());

if (selectedDate.getDay() != 0) {
// not a Sunday
var sunday = selectedDate;
// calculated the nearest Sunday
sunday.setDate(selectedDate.getDate() - selectedDate.getDay());
sender.set_selectedDate(sunday);
// tell the user that the date wasn't a Sunday
// and that the previous Sunday was selected.
$("#must-be-sunday").modal("show");
}
}

例如,如果我选择星期日,例如 5 月 5 日:

enter image description here

然后在 alert(sender.get_selectedDate()); 行显示

enter image description here

这是说选择了 5 月 4 日星期六而不是 5 月 5 日。由于在我的语言环境中,我们是 -0700,并且显示的是 5 日午夜前 7 小时,我猜这与时区有关。

有谁知道可能导致此问题的原因以及如何解决它,使其不适用于所选时间且仅适用于所选日期?

最佳答案

像往常一样,在将所有内容写成问题后,我已经解决了我的问题。这确实是由于时区造成的,但仍然很尴尬。如果有人有更好的解决方案,我很乐意听到。

使用 getTimezoneOffset()和来自 How to add 30 minutes to a JavaScript Date object? 的解决方案,我创建了一个计算来解决这个问题。

var selectedDate = sender.get_selectedDate();
// get the timezone offset in minutes
var timeOffsetMinutes = selectedDate.getTimezoneOffset();
// Convert minutes into milliseconds and create a new date based on the minutes.
var correctedDate = new Date(selectedDate.getTime() + timeOffsetMinutes * 60000);

这解决了我的问题,我得到了所需的日期。

关于javascript - CalendarExtender 说选择了错误的日期,可能与时区有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com