熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2026-5-30 16:28
正文摘要:本帖最后由 風(fēng)158 于 2026-5-30 16:32 編輯 編了一個(gè)計(jì)算年積日的e4a程序,編譯通過(guò)后在手機(jī)上運(yùn)行卻閃退。不知道什么原因。附上程序代碼: 事件 主窗口.按下某鍵(鍵代碼 為 整數(shù)型,傳址 屏蔽 為 邏輯型) &nb ... |
joyb 發(fā)表于 2026-5-31 08:28 謝謝回復(fù)。 問(wèn)題找到了,判斷時(shí)只用一個(gè)條件,編譯后在手機(jī)上才能運(yùn)行。兩個(gè)就不行。 |
|
年積日(Day of Year, DOY)計(jì)算 年積日是一種在一年之內(nèi)連續(xù)計(jì)數(shù)的日期方法,從每年的1月1日開(kāi)始計(jì)算,1月1日是第1天,1月2日是第2天,以此類(lèi)推,直到年底。年積日在各種需要按日計(jì)算的應(yīng)用中非常有用。 年積日的計(jì)算程序如下: 計(jì)算每個(gè)月的天數(shù): 創(chuàng)建一個(gè)包含每個(gè)月天數(shù)的數(shù)組:days_in_month = [31 28 31 30 31 30 31 31 30 31 30 31]。 判斷是否為閏年: 如果年份能被4整除且不能被100整除,或者能被400整除,則該年為閏年,2月有29天。 如果是閏年,則將days_in_month數(shù)組中2月的天數(shù)改為29。 計(jì)算年積日: 使用公式:yearday = sum(days_in_month(1:(month - 1))) + day。 其中,sum函數(shù)表示求和,days_in_month(1:(month - 1))表示從1月到前一個(gè)月的天數(shù)之和。 示例:假設(shè)要計(jì)算2023年10月5日的年積日,則: year = 2023,month = 10,day = 5。 判斷2023年是否為閏年:mod(2023, 4) ~= 0,所以不是閏年。 days_in_month = [31 28 31 30 31 30 31 31 30 31 30 31](因?yàn)椴皇情c年,所以2月仍然是28天)。 yearday = sum(days_in_month(1:9)) + 5 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 5 = 277。 因此,2023年10月5日的年積日是277。 |
Powered by 單片機(jī)教程網(wǎng)