qt - 如何从给定的 QDate 获得第一个星期五?
问题描述
考虑一个Qdate
从
QDate Mydate = ui->dateEdit->date();
例如,假设我们选择2018/07/14
(今天)。
如何获取所选月份(在本例中为 7 月)的第一个星期五(本例中为 6)的日期?
我怀疑我们必须使用Mydate.dayOfWeek()
计算。
解决方案
可能有一个更简洁的解决方案,但是:
- 从 dayOfMonth 中减去 dayOfWeek 以获得当前日期/日期。
- 加 5(星期五)。
- 如果 -ve 添加 7 或 +ve 答案是模数 7。
代码:
dayOfWeekToday = MyDate.dayOfWeek()
firstFriday = MyDate.day() - dayOfWeekToday + 5
firstFriday = (firstFriday <= 0) ? firstFriday + 7 : firstFriday % 7
推荐阅读
- angular - ngDoCheck 不为具有项目数组的对象触发
- postgresql - Postgresql - 在从 psql 调用的 sql 脚本中将动态文件路径传递给 COPY
- python - 如何使用 Python 解析 CSS 字体速记属性?
- angular-cli - ng serve 命令,挂掉整个系统
- python - Spark 2.4.x:地图中的重复键
- db2 - DB2 删除尾随 0 和
- android - Google Fit:无法实时更新步数、距离和 move_minutes
- python - 正确使用函数调用作为默认参数
- c# - OpenAPI - 在定义中包含派生类型
- pandas - Pandas 根据用户输入的列名和值选择行