[Python] Python verifica date

Marco Beri marcoberi a gmail.com
Mar 24 Maggio 2011 20:35:38 CEST


2011/5/24 Zanon Samuele <webs86 a gmail.com>

> Ciao a tutti...
> Ho un quesito: esiste una funzione, o avete un consiglio su come
> realizzarla, che dato un insieme di coppie di date e ore, è possibile
> verificare che nessuna di esse vadano a sovrapporsi? questa verifica mi
> serve per creare una sorta di agenda con appuntamenti non sovrapposti su
> django.
> Ciao e grazie mille per la risposta
>

Per esempio:

from datetime import datetime

lista = (
        (datetime(2011, 5, 4, 11, 44), datetime(2011, 6, 2, 10, 33)),
        (datetime(2011, 3, 4, 21, 10), datetime(2011, 1, 3, 16, 51)),
        (datetime(2011, 1, 3, 16, 53), datetime(2011, 1, 1, 23, 13)),
        )

not_overlapping = set()
for d1, d2 in lista:
    d1, d2 = min(d1, d2), max(d1, d2)
    for d3, d4 in set(not_overlapping):
        if not (d4 < d1 or d2 < d3):
            print d1, d2, " overlaps ", d3, d4
    else:
        not_overlapping.add((d1, d2))


Ciao.
Marco.


>
> ------
> Zanon Samuele
> mailto: webs86 AT gmail DOT com
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>


-- 
http://beri.it/i-miei-libri/ - Qualche libro...
http://stacktrace.it - Aperiodico di resistenza informatica
http://thinkcode.tv/gratis - Capire in 15 minuti cosa può fare Python
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20110524/fb94bafc/attachment.html>


Maggiori informazioni sulla lista Python