Visualizzazione risultati 1 fino 4 di 4

Discussione: [PHP]Gestione funzioni mkdate e mktime

  1. #1
    Guest

    Post [PHP]Gestione funzioni mkdate e mktime

    Avrei bisogno di inserire una data in un campo text ma memorizzarla nel db sql in formato timestamp es: 30 12 06 dopo mktime => 1167433200.

    Oltre questo avrei bisogno di fare uno switch che estrae il record dal db e che decide cosa fare se la data attuale è minore di 30 g o maggiore di 30gg.

    Grazie

  2. #2
    Guest

    Predefinito

    intanto inserire la data come timestamp nel db è la cosa migliore... :)) bravo!

    poi:
    vuoi il timestamp? usa time();
    vuoi una data in formato particolare? usa mktime(0,0,0,date("m") +/- mesi che vuoi da quello attuale, date("d") +/- gg che vuoi aggiungere/togliere da quello attuale, date("y") +/-);

    vuoi fare un giorno in meno rispetto a quello attuale?

    time() - (60*24*60)*giorniInMeno

    quindi
    if($data > time() + (60*60*24)) { la data è superiore ad un giorno rispetto ad oggi }

    if( $data < time - 60*60*24) la data è inferiore ad un giorno rispetto ad oggi ecc. vuoi i 30 gg? moltiplica 60*60*24 * 30
    et voila

  3. #3
    Guest

    Predefinito

    Come mai con:

    Codice:
    $yesterday = date("D, d M Y",mktime(0,0,0, date("M"), date("d")-1, date("Y")));
    Mi restituisce:

    Thu, 01 Jan 1970
    ?
    Ultima modifica di tricksandtips : 09-07-2010 alle ore 10.27.14

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Avessi letto un po' le documentazioni di mktime e date forse avresti trovato da solo la soluzione: i parametri che devi passare a mktime() devono essere tutti numerici interi.

    Il tuo quarto parametro, invece, è la rappresentazione su tre lettere del mese corrette (e quindi una stringa). Devi usare date('n') perché tutto funzioni.

    Per la cronaca, ottieni lo stesso risultato con molto meno codice usando strtotime:
    Codice PHP:
    $yesterday = date ('D, d M Y', strtotime ('-1 day'));
    Ultima nota: ricorda che sul forum nessuno è obbligato a rispondere, e i moderatori sono tenuti a far rispettare il regolamento nel modo che ritengono più opportuno. Le reazioni a solleciti in malomodo via messaggi privati possono essere le più disparate, inclusi post da saccenti tipo questo...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •