מהי הדרך הטובה ביותר להמיר בין תאריך, שעות, דקה, שניות לחותמת זמן של יוניקס באלפיות השנייה בארדואינו? אני צריך לבצע את ההמרה הזו, מכיוון שאני משתמש ב- RTC (תאריך, שעות, דקות, שניות וכו ') ומתקשר עם חותמת הזמן של יוניקס דרך BLE
מצאתי קטע קוד של מקוון, אך לא בדקתי אותו בהרחבה ובכל זאת.
בתים שנייה = עידן% 60; תקופה / = 60; דקה בתים = עידן% 60; תקופה / = 60; שעת בתים = עידן% 24; תקופה / = 24; שנים int לא חתומות = עידן / (365 * 4 + 1) * 4; תקופה% = 365 * 4 + 1; שנה לא חתומה; עבור (שנה = 3; year>0; שנה--) {אם (תקופה > = ימים [שנה] [0]) הפסקה; } חודש לא חתום; עבור (חודש = 11; חודש>0; חודש--) {אם (תקופה > = ימים [שנה] [חודש]) הפסקה; } שנה = שנים + שנה; חודש = חודש + 1; יום int חתום לא חתום = תקופה - ימים [שנה] [חודש] +1; יום חול לא חתום int = (dayOfMonth + = month < 3? year--: year - 2, 23 * month / 9 + dayOfMonth + 4 + year / 4- year / 100 + year / 400)% 7;
וכדי להמיר לחותמת זמן של יוניקס:
תקופה ארוכה לא חתומה = (((שנה / 4 * (365 * 4 + 1) ) + ימים [שנה% 4] [חודש] + dayOfMonth) * 24 + שעה) * 60 + דקה) * 60 + שנייה;
האם יש ספרייה בארדואינו שמיישמת זאת? הייתי מחליף אמינות על פני גודל התוכנית.