Vai al contenuto

Calcolo giorno dell’anno in base a data

Home Forum Programmazione IEC 61131 (LogicLab) Calcolo giorno dell’anno in base a data

Stai visualizzando 1 post (di 1 totali)
  • Autore
    Post
  • #35102
    Sergio Bertana
    Amministratore del forum

    Ricevo da un cliente la richiesta di una funzione per il calcolo del giorno progressivo dell’anno in base ad una data. Guardando un po su internet ho trovato una funzione in “C” per il calcolo che tiene conto anche degli anni bisestili, riporto la funzione:

    int DoYCalc(int Day, int Month, int Year)
    {
        int n1=275*Month/9;
        int n2=(Month+9)/12;
        int n3=((Year-4*(Year/4)+2)/3)+1;
        return(n1-(n2*n3)+Day-30);
    }

    Ho realizzato la funzione UINT DayOfYear(USINT Day, USINT Month, UINT Year) in linguaggio ST. Allego per il download un programma sorgente con la funzione realizzata ed un programma ST di test che esegue l’invio su porta seriale ad ogni secondo del valore di giorno dell’anno calcolato dalla funzione.

    E’ possibile in debug modificare i valori di giorno, mese ed anno del programma di test per verificare il funzionamento della funzione (Download programma).

Stai visualizzando 1 post (di 1 totali)
  • Devi essere connesso per rispondere a questo topic.