Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163

    Calcolo data con giorni festivi

    Ciao a tutti,
    ho cercato nel forum, ma non ho trovato nulla.

    Sapete dove posso trovare uno script per calcolare una data futura, a partire da una data, tenendo conto dei giorni festivi?

    Ciao e grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    up

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    rileggi la domanda e chiediti se e' chiara

    vuoi sapere che data e' tra x giorni lavorativi?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Grazie per la risposta, e scusa se la domanda non era chiara a sufficienza.
    Voglio proprio sapere "che data e' tra x giorni lavorativi".

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    1 - non ricordo di aver visto uno script gia' pronto
    2 - crea un array dei giorni festivi (feste fisse, pasquetta, patrono)
    3 - fai un ciclo a partire dalla data proposta e somma uno se il giorno non e' festivo o domenica (sabato?)

    Il difficile e' ottenere l'array

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    163
    Grazie comunque

    ciao

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Oggi ho tempo da perdere
    codice:
    function Pasqua(yyyy) {
    // RITORNA DATA DELLA PASQUA fra il 1753 e il 2500
    var Ap, Bp, Cp, Dp, Ep, Fp, Mp;
      if (yyyy<100) yyyy = 1900 + yyyy;
      Ap = yyyy % 19;
      Bp = yyyy % 4;
      Cp = yyyy % 7;
      Dp = (19*Ap + 24) % 30;
      Fp = 0;            // correzione per secoli
      if (yyyy<2500) Fp=3;
      if (yyyy<2300) Fp=2;
      if (yyyy<2200) Fp=1;
      if (yyyy<2100) Fp=0;
      if (yyyy<1900) Fp=6;
      if (yyyy<1800) Fp=5;
      if (yyyy<1700) Fp=4;
      Ep = (2*Bp + 4*Cp + 6*Dp + Fp + 5) % 7;
      Ep = 22 + Dp + Ep;
      Mp = 3;
      if (Ep>31) {
        Mp = 4;
        Ep = Ep - 31;
      }
      return (new Date(yyyy, Mp-1, Ep));
    }
    // ' ----------------------------------------------------------- 
    function isFest(data) {
    var s,d,p,ff,f
    	// sabato
    	s = (data.getDay()==6);
    	// domenica
    	d = (data.getDay()==0);
    	// pasquetta
    	pp = Pasqua(data.getFullYear());
    	qq = data;
    	qq.setDate(qq.getDate()-1);
    	p = (date2str(qq) == date2str(pp));
    	// FISSI
    	ff = " 0101 0106 0425 0501 0602 0815 1101 1208 1225 1226 " 
    	// PATRONO
    	ff += " 1030 " 
    	// data in stringa
    	ss = date2str(data);
    	f = (ff.indexOf(ss.substr(4))>0);
    	return (d || s || p || f);
    }
    // ' ----------------------------------------------------------- 
    function date2str(dd) {
    	return String(dd.getFullYear()*10000 + (dd.getMonth()+1)*100 + dd.getDate())
    }
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.