Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >打印当月日历

打印当月日历
EN

Stack Overflow用户
提问于 2018-03-17 09:27:22
回答 1查看 42关注 0票数 0

似乎我的练习没有任何实际用途,但我想了解我的问题在哪里涵盖。我正在尝试打印当前月份的日历(从星期一开始),所以我对解决这个问题的愿景是下一个。首先,它需要得到的总天数在一个月。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 WITH days(total) AS (
    SELECT 1
    UNION ALL
    SELECT total + 1 FROM days
    LIMIT (
       SELECT CAST(
          julianday('now', 'start of month', '+1 month') -
          julianday('now', 'start of month') AS INTEGER
       )
    )
 ) SELECT group_concat(total) FROM days;

第二,如果月份的第一天不是星期一,它需要N个空格。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 WITH days(total) AS (
    WITH spaces(nil) AS (
       SELECT CHAR(32)
       UNION ALL
       SELECT nil FROM spaces
       LIMIT (
          SELECT strftime('%w', julianday('now', 'start of month')) -1
       )
    ) SELECT group_concat(nil) || 1 FROM spaces
    UNION ALL
    SELECT total + 1 FROM days
    LIMIT (
       SELECT CAST(
          julianday('now', 'start of month', '+1 month') -
          julianday('now', 'start of month') AS INTEGER
       )
    )
 ) SELECT group_concat(total) FROM days;

第三,这是两个问题:月的最后一天会丢失,以及如何分割等量块的序列?也许有更好的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-19 10:01:07

找到了这里的溶液。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WITH seg(b, s) AS ( -- split string on segments
   VALUES (1, '')
   UNION ALL
   SELECT b + 21, SUBSTR((
      WITH nil(e) AS ( -- spaces (if not a Monday)
         SELECT CHAR(32)
         UNION ALL
         SELECT e FROM nil
         LIMIT (
            SELECT ( -- Sunday is presented by zero, so fix this
               CASE WHEN dow = CAST(0 AS INTEGER) THEN 7 ELSE dow END
            ) FROM ( -- day of week
               SELECT strftime('%w', julianday('now', 'start of month')) AS dow
            )
         )
      ) SELECT replace( -- replace all commas on spaces
         'Mo,Tu,We,Th,Fr,Sa,Su,' || rtrim(group_concat(printf('%2s', e))) || (
            WITH seq(n) AS ( -- days sequence
               SELECT 1
               UNION ALL
               SELECT n + 1 FROM seq
               LIMIT (
                  SELECT CAST(
                     julianday('now', 'start of month', '+1 month') -
                     julianday('now', 'start of month') AS INTEGER
                  )
               )
            ) SELECT group_concat(printf('%2s', n)) FROM seq
      ), ',', CHAR(32)) FROM nil
   ), b, 21) FROM seg
   LIMIT 8
) SELECT s FROM seg;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49339788

复制
相关文章
漫谈软件开发过程
一个合理而又有效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。目前软件开发一般过程包含以下几个步骤:理解需求、架构设计、单元测试、监控埋点、集成测试、性能测试、文档样例、上线流程和变更管理,下面我将针对以上几个步骤进行详细阐述。
木可大大
2018/07/25
3830
漫谈软件开发过程
Adobe认证和Adobe软件有什么区别?
因为Adobe这家公司就像微软的Office一样,只要你需要工作或者创作,那么在你的电脑系统里,总会有那么一两款软件来自Adobe公司。
IT胶囊
2023/04/24
5830
游戏测试和软件测试有什么区别?
针对手游而言,游戏测试的本质是APP,所以不少手游的测试方式与APP测试异曲同工,然而也有所不同。APP更多的是具有一种工具,一款APP好不好用不重要,关键点在于实用。而游戏则具有一种玩具属性,它并不见得实用,但他要符合玩家的好恶,要能让玩家体验到愉悦感。
新梦想IT职业教育
2019/09/20
1.7K0
软件开发过程中的无奈与轮回
今天回北京的航班又毫无疑问的晚点,在机场说一说今天的故事。 今天拜访了一个老客户,他们最近两年正在全新重构业务系统,开发的工作量非常大,50人的团队,期望能在2年内如期完成。我们聊到系统之前存在的一些问题,我建议在核心SQL审计、批处理任务、历史数据归档等方面进行精心设计。 用户说,在规划阶段,探讨过这些问题,可是一进入开发流程,就发现开始失控,开发任务优先,一起其他考虑全被推后,推到上线之后。我们发现,客户无奈的陷入了一个轮回,因为开发紧迫,推延或放弃一些在未来重要、目前可无的功能,而一旦软件上线之后,由
数据和云
2018/03/05
5280
软件开发过程中为什么要Review?
提高质量:通过Review可以发现潜在的问题和错误,从而避免在后期出现问题,提高软件的质量。
小冷coding
2023/12/11
4100
软件开发过程中为什么要Review?
聊聊软件开发过程中的“怪现象”
本文所要分享的是软件开发过程中,亲身经历过的“怪现象”。为什么说怪呢,人多力量大,似乎才符合常理,但是往往在软件项目开展的过程中会出现人多、事少、工作量大的情况,这跟我们以往的认知大相径庭。 替换高清
技术zhai
2018/05/21
5010
商业智能BI和报表软件有什么区别
现在,越来越多的人都听说过商业智能BI,很多人认为,BI就是做报表的。其实,报表只是BI的一部分,虽然BI应用的结果通常需要通过报表来展示,但是,BI绝对不等于报表。
数据前沿
2020/08/27
6860
商业智能BI和报表软件有什么区别
软件开发过程中使用的框架有哪些
框架在字面上的意思就是一个框子,有约束性和支撑性,是一个基本概念上的结构用于解决或处理复杂的问题,而在IT语言中的框架,是指未解决一个开放性问题而设计的具有一定约束性的支撑结构,在此结构上可以根据具体问题扩展,安插跟多的组成部分从而更快的构建完整解决问题方案。所以框架就是一套规范,使用这个框架就要遵守这个框架所规定的的约束。那么程序开发过程中所用到的有哪些框架。
北京锐智互动
2019/10/28
1.8K0
软件工程和项目管理
项目管理其实是一个非常宽泛的学科,它不仅仅只适合于软件(或互联网或IT)行业,其实也适合其他行业,例如建筑。
PM吃瓜
2020/07/23
1.1K0
软件工程和项目管理
软件开发过程自动化原理及技术(完整示例)
软件开发过程自动化原理及技术 一个简单完整的自动化示例 1   概述 关于本文,最开始只是想写一些关于 软件自动化测试开发 的文章,但是后来写着写着,发现不先在宏观上的软件开发过程进行介绍,不会引起大
用户1170933
2018/01/05
1.8K0
软件开发过程自动化原理及技术(完整示例)
直播带货软件开发过程中,如何实现图片上传
在直播带货软件开发过程中,通常文件上传为避免服务器压力,不会直接上传至自己的服务器,而是上传至三方云存储来托管数据。下面小编以七牛云为例,简单描述一下文件上传的实现过程。
万岳教育系统
2020/07/20
5450
直播带货软件开发过程中,如何实现图片上传
《软件过程与管理》复习
选择评审方法最有效的标准是: “对于最可能产生风险的工作成果,要采用最正式的评审方法.”
CSDN-Z
2024/10/17
1260
《软件过程与管理》复习
(二十一)敏捷项目管理和传统项目管理有何区别?
敏捷项目管理VS传统项目管理
砖家认证
2020/01/15
5.1K0
(二十一)敏捷项目管理和传统项目管理有何区别?
2019-09-04 软件开发过程中:命名的艺术
https://segmentfault.com/a/1190000009108845
Albert陈凯
2019/11/15
3810
MT5和MT4交易软件有什么区别?
很多人说MT5从字面上看是MT4的升级版,但实际上MT5并不是MT4的升级版,各是各。(这是他们官方说的不是升级版。)
全栈程序员站长
2022/08/23
1.1K0
软件项目管理笔记
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RbSNI3en-1589334555768)(1.png)]
全栈程序员站长
2022/08/19
1.5K0
kubernetes和docker有什么区别
本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。
码农编程进阶笔记
2023/03/23
2K0
kubernetes和docker有什么区别
OracleJDK和OpenJDK有什么区别?
Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。
码农架构
2021/09/18
1.9K0
OracleJDK和OpenJDK有什么区别?
nacos和eureka有什么区别?
Nacos和Eureka都是服务发现和配置管理的解决方案,但它们在多个方面存在显著的差异。以下是它们之间的一些主要区别:
用户11188770
2024/07/01
1640
Exception和Error有什么区别?
世界上存在永远不会出错的程序吗?也许这只会出现在程序员的梦中。随着编程语言和软件的诞生,异常情况就如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的
灬沙师弟
2022/09/06
1.5K0

相似问题

返回指向本地结构的指针

20

返回指向本地结构的指针

21

包装结构使参考返回到本地?

24

返回函数中的本地结构

35

C:返回本地结构有效,但返回本地数组无效吗?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文