获得欧洲风格的周数

时间:2013-07-23 18:55:08

标签: .net sql-server-ce date-formatting

显然,SQL-CE 3.5认为周数好像整个世界都是美国人。 但我确实住在荷兰的欧盟。什么是正确的SQL-CE函数来检索,例如:

  • 任何指定日期的周数
  • 前一周的号码开始日期
  • 当前周数开始

如果SQL-CE在欧洲周开始时无法回答这个问题。 然后是某种(优先免费)代码在日期之间转换, 所以我们有一个可以在欧盟和美国的周数样式之间进行转换的功能吗?

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

1 个答案:

答案 0 :(得分:1)

您的意思是ISO 8601周数吗?如果是这样,则由以下规则决定:每周从星期一开始,并且是包含该星期四星期的一年的一部分。

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

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