这让我真的很失落!.NET DateTime对象字符串格式
- 在数据层ADO.NET连接到SQL Server 2008,用于登录的默认语言是“英国”
- 选择日期时间列到一个数据视图,并返回它。
- aspx页databinds
- 此:<%#的String.Format( “{0:MMM/YYYY}”,评估和演示( “dbPeriodFrom”))%>
数据库返回10分之2009/ 01(这是yyyy/MM/dd) 第4步的结果是Jan2009?
Web服务器的区域设置是英国 有在machine.config中 没有<全球化...节在IIS中NET全球化设置的UICulture = EN文化= EN-GB 我甚至把它在该网站的web.config
这是一个经典的“在我的开发机器上工作..”但是,当部署到生产场景borked。 我可能错过了什么?
编辑
所以它出现在ASP.NET应用程序中使用的登录连接到SQL Server 2008是得到一个美国的日期时间,即使在登录属性,默认语言设置为'英式英语'。
的问题发生在TSQL:
SELECT
DATEPART(month, CAST('2009.02.01' AS DATETIME))
,DATEPART(month, CONVERT(DATETIME, '2009.02.01', 102))
输出,用于默认语言Windows集成登录(管理员)设置为 '英语'
输出通过使用SQL Server登录默认语言设置为“英式英语”的ASP.NET
您的编辑似乎是倒退的问题。你问过关于获取系统的日期*,但是你的编辑显示你将日期*放在*中 - 这是完全不同的,而btw * still *不应该使用字符串文字。 – 2009-11-26 16:08:24