【问题标题】:get week number of a date获取日期的周数
【发布时间】:2013-05-04 21:47:45
【问题描述】:
SELECT strftime('%W', day) AS week, sum(amount) FROM MyTable GROUP BY week ORDER BY week DESC

此查询对于按周获取金额很有用。但是这个给出了一年中的周数,我可以知道如何获得月的周数。我用谷歌搜索了很多。但所有结果都与年份中的周数有关,而不是与月份有关。

提前致谢。

【问题讨论】:

  • 您会将一周的一部分时间计为一周,还是从一周的第一个星期一开始计算?
  • @IsmetAlkan 我真的很抱歉这位朋友。我不知道。我的查询日就像“04-05-2013”​​。查询返回星期数为 17。
  • 然后需要实现逻辑将年周数解析为月周数
  • @AkshayJoy 请问我知道如何解析它的朋友。
  • 我已经添加了答案。

标签: android sql sqlite


【解决方案1】:

你可以操纵 strftime() 来得到你的答案。

在给定日期和给定日期月份的第一个日期应用 strftime() 并减去它们以获得您的月份周数

例如

 SELECT  strftime('%W','2013-05-04')-strftime('%W','2013-05-01') +1;

SQL Fiddle demo

【讨论】:

    【解决方案2】:

    你可以试试这个代码

    从 Sqlite 日期部分创建日历实例

    Calendar now = Calendar.getInstance();
    
    
      now.set(Calendar.YEAR,2013);
      now.set(Calendar.MONTH,04);//0- january ..4-May
      now.set(Calendar.DATE, 04);
    
    System.out.println("Current week of month is : " +
                now.get(Calendar.WEEK_OF_MONTH));
    
    System.out.println("Current week of year is : " +
                now.get(Calendar.WEEK_OF_YEAR));
    

    【讨论】:

    • 我不是在问这个朋友。我在询问如何在选择查询中获取月份的星期几。 SELECT strftime('%W', day)在这部分朋友。
    • 嘿为什么你不能在 sqlite Query 之后 Parse... from the Sqlite you can't .不知道为什么要使用 Core Java 代码来实现功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 2020-07-14
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多