.net 获取欧洲风格的周数

.net 获取欧洲风格的周数,.net,sql-server-ce,date-formatting,.net,Sql Server Ce,Date Formatting,显然,SQL-CE3.5将周数视为整个世界都是美国人。 然而,我确实住在欧盟,在荷兰。要检索的正确SQL-CE函数是什么,例如: 从任何给定日期开始的周数 前一周编号开始日期 当前周数开始 如果SQL-CE无法在欧洲周开始时回答这个问题。 那么在日期之间是否有某种(最好是免费的)代码可以转换, 那么我们有一个函数可以在欧盟和美国的周数之间进行转换 因此,如果我们输入一个欧洲时间范围,从第1周到第3周,它会被转换为第X天和第Y天。你是指ISO 8601周数吗?如果是这样的话,这取决于以下规则:

显然,SQL-CE3.5将周数视为整个世界都是美国人。 然而,我确实住在欧盟,在荷兰。要检索的正确SQL-CE函数是什么,例如:

  • 从任何给定日期开始的周数
  • 前一周编号开始日期
  • 当前周数开始
如果SQL-CE无法在欧洲周开始时回答这个问题。 那么在日期之间是否有某种(最好是免费的)代码可以转换, 那么我们有一个函数可以在欧盟和美国的周数之间进行转换


因此,如果我们输入一个欧洲时间范围,从第1周到第3周,它会被转换为第X天和第Y天。

你是指ISO 8601周数吗?如果是这样的话,这取决于以下规则:每周从周一开始,是一年中包含该周的周四的一部分

实际上,这意味着如果1月1日是星期一、星期二、星期三或星期四,那么这一周就是一年中的第一周。如果1月1日是星期五、星期六或星期日,则该周为前一年的第53周,第1周为下一周


Sql Server 2008及更高版本使用内置函数
datepart(isowk,{some date time value here})
提供直接支持。这篇文章为SQL Server 2005和更早版本提供了一个用户定义的函数。

是的,我指的是iso 8601,但我不熟悉SQL-CE如何以基于iso 8601的时间格式检索内容(SQL-CE不理解它们)所以我在想,如果我可以检索周数,是否有可能获得日期时间跨度函数的纯日期