Q
週數到月份
2
A
回答
0
的問題
找到答案:get first day of given week
//convert week to month
int weekNum = sdi.mWeek;
const char *months[13]={"January","February","March","April","May","June","July","August","September","October","November","December","January"};
struct tm curYear={0,0,0,1,0,sdi.mYear,0,0,0};
time_t secsSinceEpoch=mktime(&curYear)+weekNum*86400*7;
struct tm *candidateDate=gmtime(&secsSinceEpoch);
if (candidateDate->tm_wday!=1)
{
secsSinceEpoch+=(86400*(candidateDate->tm_wday-1));
candidateDate=gmtime(&secsSinceEpoch);
}
// [months[candidateDate->tm_mon]] returns month
1
您可以使用最新的圖書館這樣做,但如果想計算的話,這裏是一個解釋的解決方案
你需要知道這是不是一個閏年。每個月有4周加上幾個月的時間取決於月份。
例如:
一月爲4周加3天 ... 四月爲4周加2天
商店天額外每個月(可以變化的只有一個是二月可能有28或29天,這取決於它是否是一個閏年)
$extra_days = (january => 3, march => 3, april => 2, december => 3);
計算二月額外的天數(0或1),你必須計算出它是否是一個閏年...你可以使用如下操作來完成此操作 - >
$your_year mod 4
類似:
if (($your_year - REFERENCE_LEAP_YEAR) mod 4 == 0) then "it's a leap year"
現在你得到了額外的天,每個月就可以計算出一個月。每個月有4周,但你需要一個櫃檯來知道額外的日子是否滿足一週。例如:
january = 3 extra days
-> weeks = 4 - extra_days = 3 febraury = 1 extra day
-> weeks = 8 - extra_days = 4 march = 3 extra days
-> weeks 12 - extra_days = 7
***now you have an extra week so..
-> weeks 13 - extra_days
...
相關問題
- 1. DB2 - 獲取月份的周
- 2. 列出週一到週五的月份,從週一到週日碳
- 3. 獲取Joda-Time的月份週數
- 4. 計算給定月份的週數
- 5. SQL Date_Format月份數到月份名稱
- 6. 月份數到月份名稱
- 7. 月份名稱到月份編號 - 03月份是2月份?
- 8. 將月份的數量平均分配到周(2)
- 9. Rails周月數
- 10. 計算給定月份和年份的週日數
- 11. 計算excel中年份和週數的月份
- 12. 轉換參數數值月份到月份
- 13. SQL將月份價值分成幾周
- 14. php mysql從月份中選擇4周
- 15. 集團由週日期和月份
- 16. defaultView agenda週末隱藏月份標題
- 17. 從特定月份開始計算周
- 18. 從月到年和月份
- 19. 從週數開始計算日期 - 年份從3月開始 - 第1周= 3月第1周 - PHP
- 20. TSQL計算月份的月份數
- 21. Tableau月份之間的月份計數
- 22. 在SQL Server中獲取當前月份數量,1月份爲1月份,12月份爲12月份
- 23. 如何在給定的月份中查找週六和週日?
- 24. 月份週一至週日的日曆顯示日期
- 25. 轉換整數值到年,月,周,天
- 26. 獲取月份的第一個星期六和上週月
- 27. 從VBA中的DatePicker控件識別週數,月份數,年份userform
- 28. 得到拆分周的方法來獲取月份列表
- 29. 在Excel中將周值分配到月份中
- 30. 查找特定月份和年份的一週號碼