Telerik RadDateTimePicker 选择PM时段被强制转为AM问题咨询
问题根源
该异常由Telerik RadDateTimePicker组件的时间格式匹配错误触发:你当前配置的DisplayDateFormat中mm和tt(AM/PM标识)之间存在多余的连续空格,组件无法正确识别PM标识,会默认将所有时间归到AM时段。同时TimeView未显式配置时间格式,也可能导致选择的时间值解析时出现偏差。
解决步骤
- 删除
DisplayDateFormat属性里mm和tt之间的多余空格,保证DateFormat和DisplayDateFormat的格式完全一致 - 给
TimeView节点显式添加TimeFormat属性,配置和DateInput一致的时间格式,避免跨模块解析时间出现格式不匹配 - 若调整后问题仍存在,可检查站点web.config的
globalization配置,确认使用的文化支持AM/PM标识识别,示例配置如下:
<configuration> <system.web> <globalization uiCulture="en-US" culture="en-US" /> </system.web> </configuration>
修改后完整组件代码
<telerik:RadDateTimePicker runat="server" ID="rdpEndDate" Width="100%" RenderMode="Classic"> <Calendar runat="server"> <SpecialDays> <telerik:RadCalendarDay Repeatable="Today" ItemStyle-BackColor="LightGrey"> </telerik:RadCalendarDay> </SpecialDays> </Calendar> <DateInput runat="server" DateFormat="d/MMM/yyyy hh:mm tt" DisplayDateFormat="d/MMM/yyyy hh:mm tt" LabelWidth="64px"> <EmptyMessageStyle Resize="None" /> <ReadOnlyStyle Resize="None" /> <FocusedStyle Resize="None" /> <DisabledStyle Resize="None" /> <InvalidStyle Resize="None" /> <HoveredStyle Resize="None" /> <EnabledStyle Resize="None" /> </DateInput> <DatePopupButton CssClass="" /> <TimeView runat="server" TimeFormat="hh:mm tt"></TimeView> </telerik:RadDateTimePicker>
内容的提问来源于stack exchange,提问作者Alan Gabriel Reyes
相关产品推荐
相关产品推荐

