首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET DateTime对象字符串格式

.NET DateTime对象字符串格式
EN

Stack Overflow用户
提问于 2009-11-26 12:40:27
回答 3查看 735关注 0票数 2

这让我很不爽!

数据层中的'british'

  • Selects
  1. 连接到Server 2008,默认的登录语言是将DateTime列连接到数据视图中并返回。
  2. aspx页面数据库
  3. :<%# String.Format("{0:MMM/yyyy}“),Eval(”dbPeriodFrom“) %>

数据库返回2009/10/01 (这是yyyy/MM/dd),步骤4的结果是Jan2009?

web服务器的区域设置是联合王国,没有<全球化.在machine.config中,IIS中的净全球化设置为uiCulture=en区域性=en-GB,我甚至在站点的web.config中将其设置为

这是一个经典的“在我的开发机器上工作”。但是,当部署到生产场景中时,就会被轮询。我可能错过了什么?

编辑

因此,ASP.NET应用程序用于连接到SQl Server 2008的登录似乎获得了一个美国日期时间,尽管在登录属性中,默认语言设置为'British‘。

这个问题发生在TSQL中:

代码语言:javascript
复制
SELECT 
    DATEPART(month, CAST('2009.02.01' AS DATETIME))
    ,DATEPART(month, CONVERT(DATETIME, '2009.02.01', 102))

windows集成登录(管理员)的输出,默认语言设置为'English‘

2 2

默认语言设置为“英式英语”的ASP.NET使用的Server登录输出

[经]1 2

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-26 13:01:53

检查数据库本身及其服务器上的区域设置,根据设置的不同,日期将相应地格式化为区域设置。我怀疑数据库服务器可能设置为US English - Poke在db服务器本身的区域设置中。

希望这能帮上忙最好的问好汤姆。

票数 2
EN

Stack Overflow用户

发布于 2009-11-26 12:46:34

我会感兴趣地看到从命令/reader/适配器中获取日期的代码--如果数据库列被键入为datetime,那么连线上的内容实际上不是--实际上是"2009/10/01“--它是一个二进制数字(就像大多数日期都在线路上一样)。因此,不存在模棱两可的问题。

我希望在某个地方,您将它视为字符串(可能是一些Parse) --这不应该是必要的。如果是的话,您不是将它作为一个SELECT,而是作为一个[n][var]char(x)

票数 2
EN

Stack Overflow用户

发布于 2009-11-26 13:22:45

使用Management检查存储在数据库中的值。在通用数据格式中,YYYYMMDD :MM:SS.mmm (2009-01-05T10:12:55.001)和YYYYMMDD (20090105)。无论数据库使用哪种语言环境,解析的这些格式都是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1803455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档