【发布时间】:2017-12-08 19:59:53
【问题描述】:
在给定当前日期时间的情况下,我想计算当前月份一周的第一个日期和最后一个日期。
例如,2017 年 12 月 1 日是第一天,2017 年 12 月 2 日是 12 月该周的最后一天。在一年中的同一周,2017 年 11 月 26 日是一周的第一天, 2017 年 11 月 30 日是上个月的最后一天。
所以如果今天是 2017 年 12 月 1 日,我应该从当前日期时间得到 01-02,而不是 26-02 范围。
PS:我正在尝试在 Sqlite 的查询中执行此操作。我想每周对一些值进行分组。星期几应属于当前月份。因此有这个要求。到目前为止,这是我的查询。
SELECT SUM(amount) as Y,
strftime('%d', datetime(createdOn/1000, 'unixepoch'), '-'||strftime('%w', datetime(createdOn/1000, 'unixepoch'))||' day' )
||'-'||
strftime('%d', datetime(createdOn/1000, 'unixepoch'), '+'||(6-strftime('%w', datetime(createdOn/1000, 'unixepoch')))||' day' ) AS X
FROM my_table
GROUP BY strftime('%d', datetime(createdOn/1000, 'unixepoch'), '-'||strftime('%w', datetime(createdOn/1000, 'unixepoch'))||' day' )
||'-'||
strftime('%d', datetime(createdOn/1000, 'unixepoch'), '+'||(6-strftime('%w', datetime(createdOn/1000, 'unixepoch')))||' day' )
如何实现;给定当前日期时间。
【问题讨论】:
-
检查计算的一周的第一天/最后一天的月份;如果错误,请计算该月的第一天/最后一天。使用date functions 和CASE expressions。
-
@CL 我已经提供了我的查询。你能推荐一些更好的吗?
-
@CL 我能够完善我的查询。感谢您的评论。
标签: sqlite datetime calculator