Answer

问题及解答

[MySQL] 实验

Posted by haifeng on 2021-05-11 08:35:26 last update 2021-05-11 08:59:24 | Edit | Answers (1)

请写一个C/C++程序, 调用 MySQL 的 week() 函数或其他函数, 返回第几周. 当然, 这个程序可以设定哪个是第一周.

目的: 练习 C/C++ 与 MySQL 的连接.

 


 如果不使用 MySQL , 如何解决?

 

问题:
学校有的课程是单双周排课的. 因此给老师和同学会带来一些不便, 时间长了会忘记第几周。
请写一个小程序, 可以用 C/C++ 或 Java 等语言, 返回当天所在是第几周。
鼓励最后做成手机 APP (安卓或苹果系统用)
------------------------------------------------
Exercise:

写一个 C/C++ 程序, 返回当天所在是第几周. 年份不影响结果.  例如:
xxxx-01-01   --->  第 0 周
xxxx-01-07   --->  第 1 周
依次类推

要求: 
  1. 设定某个日期所在的周是(开学)第一周, 比如 2021-03-01; (事实上, 可以只输入 03-01 或其他格式, 如: 3.1)
  2. 输入日期, 返回第几周. 如果输入的日期在 2021-03-01 前, 则返回0或负整数.
  3. 如果不输入日期参数, 则返回系统当天所在第几周.

 

1

Posted by haifeng on 2021-05-11 08:43:33

 

设 2021-03-01 所在周是第一周, 问 2021-05-11 是在第几周?

使用 week() 函数

mysql> select week('2021-05-11')-week('2021-03-01')+1;
+-----------------------------------------+
| week('2021-05-11')-week('2021-03-01')+1 |
+-----------------------------------------+
|                                      11 |
+-----------------------------------------+
1 row in set (0.04 sec)

 

备注:

week() 这个函数并不会累计周数, 例如

mysql> select week('2022-05-11')-week('2021-03-01')+1;
+-----------------------------------------+
| week('2022-05-11')-week('2021-03-01')+1 |
+-----------------------------------------+
|                                      11 |
+-----------------------------------------+
1 row in set (0.00 sec)