[英]How to find out the date of the first day of week from the week number in C++
[英]How to convert day of week from Sunday first to Monday first in c++?
我有一個 function,它將星期幾返回為 integer,星期日 = 0,星期一 = 1 等到 6。我想將其轉換為星期一 = 0,...,星期日 = 6。我想不出比下面列出的方法更好,但它很笨拙。 有沒有更好的辦法?
if (!currTime.dayOfTheWeek()) { // if time.dow == 0
dayOfWeek = 6;
}
else {
dayOfWeek = currTime.dayOfTheWeek() - 1;
}
順便說一句,這是 Arduino 代碼,使用 RTCLib 作為時間。
選擇:
至 map 0...6 來自 [周日。 到星期六]到[星期一。 太陽。]
dayOfWeek_fromMonday = (dayOfWeek_fromSunday + 6)%7;
假設您想從星期三開始(比從 1 開始更有趣的事情)而不是星期日,並避免使用裸幻數。
#define DaysWedToSun 4
#define DaysPerWeek 7
dayOfWeek_fromWed = (dayOfWeek_fromSun + DaysWedToSun)%DaysPerWeek;
把事情簡單化。 規則是什么? 如果這一天是星期天(0),我們將其更改為 6,所有其他的我們減去 1。
int dayOfWeek = ..;
dayOfWeek = dayOfWeek == 0 ? 6 : dayOfWeek - 1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.