Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    paolobig1
    Guest

    php SQL e funzioni per date

    Ciao!
    In SQL
    DATE_ADD(CURDATE(), INTERVAL 1 YEAR) restituisce la data fra un anno

    a me serve che restituisca la data fra un anno e 10 giorni.
    se trasformo 1 anno in giorni ottengo 365 giorni che però non sono esattamente esatti se contate che ogni 4 anni i giorni sono 366

    Ho dato un'occhiata al manuale ufficiale di msql ma mi sembra di non aver vistro nulla.
    Esiste un rimedio??

    Scusate la seconda domanda: con php come faccio a calcolare la data fra un anno?
    Io facio così:
    $GIORNI =365;
    $Day = 60*60*24; // secondi/giorno
    $d=date("Y-m-d", (time()+( $Day * $GIORNI )));
    ma il stesso problema : se ho 366 giorni?

  2. #2

    Re: php SQL e funzioni per date

    Originariamente inviato da paolobig1
    Ciao!
    In SQL
    DATE_ADD(CURDATE(), INTERVAL 1 YEAR) restituisce la data fra un anno

    a me serve che restituisca la data fra un anno e 10 giorni.
    se trasformo 1 anno in giorni ottengo 365 giorni che però non sono esattamente esatti se contate che ogni 4 anni i giorni sono 366

    Ho dato un'occhiata al manuale ufficiale di msql ma mi sembra di non aver vistro nulla.
    Esiste un rimedio??

    Scusate la seconda domanda: con php come faccio a calcolare la data fra un anno?
    Io facio così:
    $GIORNI =365;
    $Day = 60*60*24; // secondi/giorno
    $d=date("Y-m-d", (time()+( $Day * $GIORNI )));
    ma il stesso problema : se ho 366 giorni?
    php - data fra un anno e 10 giorni

    $data_finale = strftime("%d/%m/%Y",mktime (0,0,0,date("m"),date("d")+10,date("Y")+1));



    MYSQL e' un tantito piu' logorroico in questo caso. Vale la spesa solo se la data da calcolare e' inserita nel db. Se ti serve davvero posso darci un'occhiata.


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

  3. #3
    $data = DATE_ADD(CURDATE(), INTERVAL 1 YEAR);
    $data = DATE_ADD($data, INTERVAL 10 DAY);


  4. #4
    Originariamente inviato da Beppesan
    $data = DATE_ADD(CURDATE(), INTERVAL 1 YEAR);
    $data = DATE_ADD($data, INTERVAL 10 DAY);

    gia' pero' va fatto in una query. Messo cosi' php si arrabbierebbe e anche parecchio.


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

  5. #5
    paolobig1
    Guest
    [QUOTE]

  6. #6
    paolobig1
    Guest
    ops!!
    MYSQL e' un tantito piu' logorroico in questo caso. Vale la spesa solo se la data da calcolare e' inserita nel db. Se ti serve davvero posso darci un'occhiata
    Ti ringrazzio!
    Altrimenti userò la funzione in php e la inseristo trammite variabile

  7. #7
    Originariamente inviato da paolobig1
    ops!!

    Ti ringrazzio!
    Altrimenti userò la funzione in php e la inseristo trammite variabile
    codice:
    SELECT *, date_format(
    DATE_ADD(DATE_ADD(campo_data, INTERVAL 1 YEAR), INTERVAL 10 DAY ), '%d/%m/%Y' )
    AS new_data
    FROM tabella
    Se invece delle date che hai nel db ti serve calcolare a partire dalla dataa odierna sostituisci con una funzione tipo NOW() o CURDATE() il nome del campo. Il dato che ti interessa lo trovi nell'alias. Il formato richiesto e' dd/mm/yyyy. Se non ti serve puoi togliere la funzione DATE_FORMAT.



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

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.