C'è modo di sapere (Via softwarte) le festività Italiane online ?
Ho fatto un combinatore telefonico e vorrebbero che chiama solo di notte o durante le festività.
C'è modo di sapere (Via softwarte) le festività Italiane online ?
Ho fatto un combinatore telefonico e vorrebbero che chiama solo di notte o durante le festività.
Di sicuro, se cerchi "Festività Italiane 2021 ics" trovi da scaricare il file che normalmnete viene letto dall'applicazion "Calendar" di Apple. Gli ho dato un occhiata, è un normalissimo file di testo del quale è abbastanza facile fare il parsing per ricavare le varie date. vedi un po' tu ...
Guglielmo
Speravo qualcosa di più semplice tipo un get a un sito che torna vero o falso.
Naturalmente di un servizio preposto allo scopo.
Anche perchè quel file bisognerebbe ricordarsi tutti gli anni di cambiarlo.
Dai un'occhiata a questo sito (basato su un progetto open-source)
Worldwide Public Holidays - Nager.Date
Non c'è una API che fa quello che proponevi (potresti aprire una issue nel repository GitHub), ma il formato restituito è un classico JSON e ci vuole pochissimo a fare una funzione che prende in input la data e restituisce un bool come dici.
Come non detto c'è anche l'API che fa il check sulla data
Swagger UI (nager.at)
Sembra quello che cerco, ma io sono imbranato con la programmazione.
C'è un url che mi risponde Si/No se oggi è festa ?
Quello mi sa in ogni caso ... anche le API indicate da "cotestatnt" vogliono l'anno ...
Guglielmo
mi sembra "/api/v3/IsTodayPublicHoliday/{countryCode}"
Guglielmo
Non proprio, l'url c'è ma risponde con un codice di stato HTTP
Con quale scheda hai intenzione di fare la richiesta GET?
SAMD21 (Zero) con modem SIM800L
Sto provando gli URL
https://date.nager.at/Api/v2/IsTodayPublicHoliday/IT
https://date.nager.at/Api/v2/IsTodayPublicHoliday/(IT)
Ma ho sempre errore.
Hai errore probabilmente perché il codice si aspetta una risposta positiva ovvero un code 200.
Prova a mettere lo sketch
Il codice sul server ?
Sto provando con Chrome e mi risponde:
{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.4","title":"Not Found","status":404,"traceId":"|6c803cc2-4aaae7ec18b248e3."}
Oppure mi risponde così:
{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.4","title":"Not Found","status":404,"traceId":"|6c803cc2-4aaae7ec18b248e3."}
Scrivo una cosa e il forum me la cambia in un altro.
{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.4","title":"Not Found","status":404,"traceId":"|6c803cc2-4aaae7ec18b248e3."}
Nulla, scrivo not found e il forum me lo cambia in found
Allora, partendo dall'esempio WebCLient.ino della libreria TinyGSM, quello che devi valutare è la prima riga della risposta dal server (ovvero l'ultima di questo copia/incolla dal monitor seriale che ho appena fatto)
Modem Info: SIM800 R14.18
Waiting for network... success
Network connected
Connecting to ibox.tim.it success
GPRS connected
Connecting to date.nager.at
success
Performing HTTP GET request...
HTTP/1.1 204 No Content
204 - NON festivo
200 - Festivo
Non so cosa è successo ma ora Chrome non da più una pagina, per cui presumo serva una lettura a più basso livello.
Per ora grazie allora.
è normale!
Non c'è una pagina come risposta dal server, ma solo un codice di stato HTTP.
Il SIM800 mi da giorno e ora dalla rete, ma non mi dice che giorno della settimana è.
Mi sembra che nemmeno date.nager.at lo dica.
Come ne esco con poche risorse ?
E bo, ho trovato questa formula sul web.
Soluzione non breve come speravo ma provo.
int d = 15 ; //Day 1-31
int m = 5 ; //Month 1-12 int y = 2013 ; //Year 2013
int weekday = (d += m < 3 ? y-- : y - 2, 23*m/9 + d + 4 + y/4- y/100 + y/400)%7;