Datetime 隐式日期格式转换

Datetime 隐式日期格式转换,datetime,asp-classic,Datetime,Asp Classic,我在webmatrix上使用经典asp做这项工作 在我的数据库中,存储的日期格式为mm/dd/yyyy 当我把这些写在网页上时,日期会改变格式,变成dd/mm/yyyy 另外,不同的用户可能以不同的方式使用其系统日期格式。是否有一种方法可以绕过这个问题,以固定格式获取并显示日期 感谢你的帮助和时间 Vin您推断得很好,ASP更准确地说,web服务器(IIS)中的ASP引擎正在根据服务器中的系统区域设置,精确地转换所有日期值 无论您在数据库中以何种格式存储日期值,ASP都会将其全部转换。存在两个替

我在webmatrix上使用经典asp做这项工作

在我的数据库中,存储的日期格式为mm/dd/yyyy

当我把这些写在网页上时,日期会改变格式,变成dd/mm/yyyy

另外,不同的用户可能以不同的方式使用其系统日期格式。是否有一种方法可以绕过这个问题,以固定格式获取并显示日期

感谢你的帮助和时间


Vin

您推断得很好,ASP更准确地说,web服务器(IIS)中的ASP引擎正在根据服务器中的系统区域设置,精确地转换所有日期值

无论您在数据库中以何种格式存储日期值,ASP都会将其全部转换。存在两个替代选项来更正此问题:

LCID属性的使用
LCID
属性指定日期、时间和货币的格式。不同地理区域的区域设置标识符(
LCID
)不相同。有些地区将日期格式化为
YY-MM-DD
,有些地区将日期格式化为
MM-DD-YYYY
LCID
属性为读/写

LCID
会话
响应
对象中受支持(这仅在最新版本的windows中受支持)

根据您居住的地方或您的客户来自哪里,您可以在此选择更适合他们的LCID

更多信息:

更改服务器中的区域设置 查看此线程以了解更多信息


(检查快速修复部分)

问题不在于用户的系统日期格式,而在于服务器中的系统日期格式可能与@Rafael所说的“服务器端”语言相同,这意味着生成的任何日期都使用调用它的服务器的“区域设置”,因此,如果您使用的是
US
服务器,例如运行
Date()
将为您提供
05/11/2014
,而如果您使用的是
UK
服务器,相同的代码将返回
11/05/2014
。因此,与服务器区域设置相反的任何特定格式化都必须在代码中使用内置的日期函数来完成(参见我的链接)。@ LakkyMalm,我不会把这个问题看作是DUPE,因为这两种处理都是关于日期格式的,所引用的问题与此不相同。这个问题还有另一个答案首先感谢Rafael和@Lankymart为您提供的时间和投入。这就是我所做的。我设置Session.LCID=1033(对于我们)。所有问题都解决了,因为当我看到DB日期格式为mm/dd/yyyy时,屏幕没有显示。如果我的数据库使用dd/mm/yyyy,那么我必须使用Session.LCID=2057(对于英国)。非常感谢大家。谢谢你们的信息性回复。我没有使用SQL Server。WebMatrix附带的SQL CE。部分快速修复是可能的,但现在我关心的是数据库中已有的数据以及这些数据的格式。但这是你贴在这里的好东西。非常感谢,非常感谢拉斐尔。我使用Session.LCID=1033,一切正常。感谢您的时间和帮助。