是否可以创建一个sql语句来选择周数(不是星期几 - 或一周中的日期数).我正在创建一个视图来选择此额外信息以及其他几个字段,因此无法使用存储过程.我知道可以创建一个UDF来完成这个技巧,但是如果可能的话我只需要添加视图到这个数据库,而不是视图和函数.
有任何想法吗?我来自哪里,一周从星期一开始,第一周是一年中的第一周至少4天.
我最近遇到了一个大问题,因为我有一个每周向客户付款的系统.
众所周知,一年有52周,并且有标准.我正在使用PHP aka date('W')来获取日期的周数,根据标准ISO-8601计算.
以下是一些参考:
但这是问题:2009年有53周.似乎通过公历在400年内有71年有53周.这是我不知道的一件事,可能很多人并不是这样.
根据维基百科:
2009-12-31是2009-W53-4(ISO年份2009年有53周,延长了2009年的格里高利年,周四开始和结束,两天结束,为期三天).
PHP中的日期函数完全尊重它.
如果您查看MS Outlook,并在日历视图中显示星期几,它将在2009年12月28日至2010年1月3日第1周出现52周.这是另一个标准吗?美国标准还是什么?
如果是这样,那为什么PHP不能支持它呢?有人做过支持这个的功能吗?
53周是否正确?我们有欧洲和美国的客户.
我试图在某一年找到一个日期落入的那一周.我有一堆文件需要分类到"week1-2012"和"week34-2011"等文件夹中.我尝试搜索但很多结果并没有真正帮助,因为我目前正在使用perl v5.6.1,超级旧,我无法下载任何模块.我还发现这个链接(如何计算给定日期的周数?),但我想知道如何轻松地获得一年和一周的日期.想到这个月,并添加适当的天数来找出一年中的那一天.任何帮助,将不胜感激.我正在寻找的年份格式的一个例子是
//year 2012
S M T W R F S
1 2 3 <-- week #1
4 5 6 7 8 9 10 <-- week #2 //came from the link
//dec year 2011
S M T W T F S
27 28 29 31 <-- week #52 or 53, not to sure the actual week
Run Code Online (Sandbox Code Playgroud) 在 .NET C# 中,有 Calendar.GetWeekOfYear 方法
public virtual int GetWeekOfYear(
DateTime time,
CalendarWeekRule rule,
DayOfWeek firstDayOfWeek)
Run Code Online (Sandbox Code Playgroud)
其中有一个参数“CalendarWeekRule”来定义规则。就我而言,我使用 CalendarWeekRule.FirstFourDayWeek 来断言一周需要在同一个月中有 4 天才能被视为一周。
https://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear(v=vs.110).aspx
我怎样才能在 SQL 中做到这一点?有等价的功能吗?
我正在用 c++ 编写一个 impala udf,当提供 yyyyMMdd 中的日期时,它会获取一年中的第几周。但似乎无法找到将 yyyyMMdd 转换为 C++ 中的一周的方法。在java中我可以日历,但是如何在c++中进行它。
TIA