Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [MYSQL]funzione week

  1. #1
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247

    [MYSQL]funzione week

    Ho un richiesta forse insolita ma per me importante:
    Per estrapolare il numero della settimana dell'anno di una data uso la funzione week('data',1) del mysql.
    Fino a qui tutto bene:infatti per l'anno 2004 la week mi indica che ci sono 53 settimane(1-53) e riesco a recuperare da una tabella di date quelle che appartengono ad una week da me scelta.
    Il problema mi subentra nel 2005:
    per il mysql il 2005 ha 52 settimane o meglio il numero delle settimane oscilla tra 0->52(questo perchè il 1 gennaio 2005 è sabato e giustamente lui inizia con il lunedi):la mia domanda è:
    a che settimana appartiene il 1 gennaio 2005?Alla settimana 0?
    Esistono settimane nulle?
    Ho cercato in internet sul modo in cui le settimane devono essere conteggiate ma ho trovato decisamente poco.

    Infatti rimasto spiazzato ho usato la funzione YEARWEEK('data',1) che mi restituisce anno e settimana di un anno:il bello è che per lui giorni di un altro anno possono far parte dell'ultima settimana dell'anno precedente.

    Potete per favore spiegarmi come cavolo si devono contare le settimane?

    Grazie infinite per qualsiasi aiuto.
    Andrea

  2. #2
    La cosa mi aveva fatto pasticci pure a me e l'ho approfondita....

    Guarda la sezione seconda della pillola date/time , e' descritto come sono le due opzioni.

    Se qualcosa non e' chiaro lo potremo approfondire. Lo avevo lasciato perche' avevo trovato il risultato aspettato.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Ciao Piero.mac
    Speravo che mi rispondessi(infatti ho letto la tua pillola sulla gestione delle date).
    Quello che non mi è chiaro è sapere quante settimane sono contenute in un anno:devono sempre essere 53 o possono essere 52?
    Mi sembra ovvio che 53 settimane da 7 giorni significherebbe un anno di 371 giorni VVoVe:

    Il fatto è che io ho creato un pannello che genera i giorni di una particolare settimana a partire da una data:
    mi spiego se oggi è il 1 di ottobre,sapendo che appartiene alla week 40 del 2004 genero le altre date della settimana(ossia da lunedi 27 a domenica 3 ottobre).la mia difficoltà sopraggiunge nel cambio dell'anno:infatti il 2004 per la (week,1) ha un range da 1->53;
    mentre il 2005 ha range da 0->52;
    come spiego al mio capo la settimana 0 ?cosa faccio aggiungo 1 e faccio diventare le date 1->53 magicamente e così la settimana 1 del 2005 è composta da un sabato e una domenica?
    Per favore dammi un consiglio
    Andrea

  4. #4
    Originariamente inviato da quincy
    Ciao Piero.mac
    Speravo che mi rispondessi(infatti ho letto la tua pillola sulla gestione delle date).
    Quello che non mi è chiaro è sapere quante settimane sono contenute in un anno:devono sempre essere 53 o possono essere 52?
    Mi sembra ovvio che 53 settimane da 7 giorni significherebbe un anno di 371 giorni VVoVe:
    52 * 7 sono 364. Quindi rimane sempre una settimana monca che e' la 0 o la 53esima.

    Siccome per stabilire la settimana corrente devo basarmi su agende aziendali, mi adeguo, Nel senso: La parte della settimana che splafona nell'anno nuovo e' la settimana 52 dell'anno precedente. La settimana aziendale solitamente inizia il lunedi', quindi la settimana 1/2005 per me inizia lun. 3 Genn.

    In pratica seguo yearweek("2005-01-03","1"). Questa funzione rende yyyyss quindi 200501 sara' la settimana 1 del 2005 con la settimana che inizia di lunedi', basta eliminare l'anno e vai. Il range e' 1 - 52 contro 0 - 53 di week.

    Quindi: o la parte della settimana iniziata nel 2004 la chiami sett. 0/2005 oppure la chiami settimana 52/2004. Per me e' la 52/2004. Chiaramente nell'anno 2004 la settimana 1 iniziava il giorno 5 genn.

    Ancora in altre parole..... Se la tua settimana inizia di lunedi' la settimana 1 corrisponde al primo lunedi' dell'anno.... that's all.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di quincy
    Registrato dal
    Aug 2003
    Messaggi
    247
    Grazie Piero come sempre per la tua cortesia.

    Alla prossima
    Andrea

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.