0

我在 asp.net 中有一个代码,用户通过 AJAX 日历弹出控件输入日期选择,如下所示:

<td class="style14">
<asp:TextBox ID="DateSelection" runat="server" Height="22px" Width="90px"
AutoPostBack="True"></asp:TextBox>
<asp:ImageButton ID="ImageButtonDateSelection" runat="server" Height="22px" 
ImageUrl="~/Images/Calendar.jpg" Width="19px" />
<asp:CalendarExtender ID="CalendarExtenderDateSelection" runat="server" 
Format="dd/MM/yyyy" PopupButtonID="ImageButtonDateSelection" 
PopupPosition="BottomRight" TargetControlID="DateSelection" 
FirstDayOfWeek="Monday">
</asp:CalendarExtender></td>

我从 SQL 中获取日期并在 SQL 代码中使用它,如下所示:

declare @dt datetime 
set @dt = convert(datetime,'" & DateSelection.Text & "',104

我的远程桌面一切正常,但是当我发布网站时,由于服务器上的日期格式不同,它无法正常工作。

我不知道服务器有什么格式,但我想知道是否有一种万无一失的方法来处理任何日期格式,这样我就可以在我的电脑上使用我的日期格式进行开发并将代码安全地发送到服务器并保证它会起作用。谢谢。

4

2 回答 2

1

首先,您可以通过DBCC USEROPTIONS检查您在该服务器上的连接的日期格式设置是什么

DBCC USEROPTIONS

输出:

Set Option  Value
----------------------
...
language    us_english
dateformat  mdy         <---
datefirst   7
...

其次,您可以使用SET DATEFORMAT更改连接的日期格式

SET DATEFORMAT MDY;

第三,您始终可以使用 SQL/ISO 日期格式,即YYYY-MM-DD

DECLARE @dt DATETIME 
SET @dt = CONVERT(DATETIME,'2013-03-09')
于 2013-03-09T17:14:50.180 回答
0

将文化属性设置为: - <%@ Page Title="" Language="C#" MasterPageFile="~/User/MainMaster.master" AutoEventWireup="true" CodeFile="MemberRegistration.aspx.cs" Inherits="HO_MemberRegistration"文化="英文" %>

于 2013-03-09T17:00:18.567 回答