Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: controllo date

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    controllo date

    come posso verificare la 'corrispondenza' di una data?
    il mio caso è questo: in un database, ho memorizzato due date (inizio e fine), ad esempio 15-12-2004 e 22-12-2004; quello che mi occorre è confrontare la data odierna, e verificare se è compresa tra quella d'inizio e quella di conclusione.
    ho dei dati che devono essere accessibili a ciascun utente solo entro un determinato lasso di tempo...
    grazie x gli aiuti!

  2. #2
    usa mktime:

    $data_partenza = mktime ( 0, 0, 0, 12, 15, 2004 );
    $data_arrivo = mktime ( 0, 0, 0, 12, 22, 2004 );

    $adesso = time();

    if ( ($adesso>$data_partenza) && ($adesso<$data_arrivo) ) ...
    Hey Barney, fantastico, hai portato un barile di birra!! Già, dove posso riempirlo?
    http://www.ibolli.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    scusa, non conosco mktime...
    suppongo che i tre zeri rappresentino ore, minuti e secondi...
    però, mi chiedo: come faccio ad inserire il dato del db, che mi viene restituito nella forma 15-12-2004, all'interno della stringa
    $data_partenza = mktime ( 0, 0, 0, 12, 15, 2004 );
    e con questa diversa formattazione?
    non otterrei il medesimo risultato se, ad es., utilizzassi la formula
    if ( ($adesso>$data_partenza) && ($adesso<$data_arrivo) ) ...
    dove data_partenza e data_arrivo sono i valori estratti dal db?
    mi basterebbe determinare $adesso con la medesima formattazione (che so, 17-12-2004...); o no?
    thanx

  4. #4
    Forse chiedevi questo?


    Codice PHP:

    $da 
    "20040614";
    //list ($year, $month, $day) = explode ("", $da);
    $giorno substr($da, -2);
    $mese substr($da42);
    $anno substr($da04); 

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    Re: controllo date

    Originariamente inviato da metatad
    come posso verificare la 'corrispondenza' di una data?
    il mio caso è questo: in un database, ho memorizzato due date (inizio e fine), ad esempio 15-12-2004 e 22-12-2004; quello che mi occorre è confrontare la data odierna, e verificare se è compresa tra quella d'inizio e quella di conclusione.
    ho dei dati che devono essere accessibili a ciascun utente solo entro un determinato lasso di tempo...
    grazie x gli aiuti!
    puoi usare direttamente mySQL:
    codice:
    SELECT * FROM tabella
    WHERE CURDATE() BETWEEN inizio AND dmod
    think simple think ringo

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    cioè, vuoi dire che, ad es., nel mio caso, posso usare una stringa del tipo:
    codice:
    SELECT * FROM tabella
    WHERE CURDATE() BETWEEN $inizio AND $fine
    ?
    è così? sarebbe perfetto...

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da metatad
    cioè, vuoi dire che, ad es., nel mio caso, posso usare una stringa del tipo:
    codice:
    SELECT * FROM tabella
    WHERE CURDATE() BETWEEN $inizio AND $fine
    ?
    è così? sarebbe perfetto...
    nel primo post hai detto che inizio e fine sono memorizzati nel db, giusto? quindi non devi mettere $ davanti ai nomi dei campi.
    quella query seleziona tutti i campi dalla tabella nei quali la data odierna (CURDATE) è compresa fra il campo 'inizio' ed il campo 'fine'.
    think simple think ringo

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok, quindi con:
    codice:
    SELECT * FROM tabella WHERE user_id=$mioid AND CURDATE () BETWEEN inizio AND fine
    vado bene?

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    CURDATE() è una funzione di mySQL, non devono esserci spazi prima delle parentesi ().

    ti conviene provare direttamente, x vedere se ottieni il risultato che cercavi.
    think simple think ringo

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok, grazie...
    lo spazio è venuto fuori non so come dal copia/incolla, lo so che non ci va...
    re-thanx

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.