Visualizzazione dei risultati da 1 a 9 su 9

Discussione: confronto fra date

  1. #1

    confronto fra date

    devo effettuare un confronto tra una data che arriva da un form e la data attuale ma il confronto da solo un risultato...grazie a chi mi aiuti

    codice-----------------------------------------------

    <%@LANGUAGE = JScript%>
    <%
    var strdata = new String(Request.Form("data"))

    var strdataok = "#" + strdata + "#"

    var data = new Date();
    var strgiorno = "#" + data.getDate() + "/" + (data.getMonth() + 1) + "/" + data.getYear() + "#";

    if (strdata < strgiorno) {
    Response.Write("Sbagliato");
    }
    else {
    Response.Write("Bravo");
    }
    %>
    -------------------------------------------------

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto una nota (per evitare inutili malintesi):
    Questo e` jscript (non javascript) e gira sul server.

    L'anno si ottiene con .getFullYear() . .getYear() soffre del baco del millennio.

    Se il confronto e` fatto con == , la cosa va bene, ma se devi confrontare le datee verificare quale e ` maggiore, devi mettere in ordine aaaammgg .

    E poi perche` confronti una data completa con il solo giorno?

    PS. non ho capito la domanda.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    è che non sapevo dove fosse corretto postare...

    uhm, no la variabile strdata è la data completa, gg/mm/aaaa che mi arriva da un form precedente.

    e devo fare un confronto tra quella attuale e questa che arriva dal form...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ah scusa. Mi pareva che strgiorno fosse solo il giorno (il nome mi ha tratto in inganno)

    Comunque getFullYear() e` da usare sicuramente al posto di getYear().

    Poi non ho capito che confronto vuoi. Ne` dal codice ne` dal tuo testo sono riuscito a capirlo.

    --

    Dato che si tratta di JS / jscript puo` andar bene anche questo forum. Lo ho scritto solo per chiarire.
    Di solito in JS non si possono usare Request.Form e Response.Write (che sono istruzioni ASP).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    praticamente c'è un form dove l'utente può inserire la data del concerto, e devo controllare affichè non venga inserita una data precedente a quella odierna.

    quindi confronta la data inserita con quella attuale e se va bene preosegue ed inserisce i dati nel DB, se no dà errore (qua ho messo dei response.write per semplificare)

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ok ora ho capito.

    Ma tu stai facendo un cfr fra stringhe: puo` funionare, ma ocn le date nell'ordine:
    yyyy/mm/aa
    (altrimenti il 20 gennaio viene dopo il 10 marzo).

    Oppure puoi fare il cfr fra gli oggetti Date().

    Nel primo caso:
    codice:
    var strdata = new String(Request.Form("data"))
    var tmp = strdata.split(/[\:\/\.\-]/);
    var strdataok = tmp[2]+"/"+tmp[1]+"/"+tmp[0];
    
    var data = new Date();
    var strgiorno = data.getFullYear() + "/" + (data.getMonth() + 1) + "/" + data.getDate();
    
    if (strdata < strgiorno) { ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    um, non funziona...ma diciamo che non è una cosa vincolante...

    non se postarlo qui va bene, ma non essendo un fulmine con jscript in asp, ho un problema di connessione:

    mi ritorna questo errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.

    dà questo codice

    codice:
    <%@LANGUAGE = JScript%>
    <%
    	var strcountry = new String(Request.Form("country"));
    	var strdata = new String(Request.Form("data"))
    	var strgruppi = new String(Request.Form("gruppi"));
    	var strvenue = new String(Request.Form("locale"));
    	var strcitta = new String(Request.Form("citta"));
    
    var Cn = new ActiveXObject("ADODB.Connection");
    	
    Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/public/forum.mdb"));	
    
    var Sql = "SELECT * FROM shows WHERE daydate = " + strdata +" AND dovestato ="+ strcountry +" AND dovecitta = "+ strcitta +" AND dovelocale="+ strvenue+"";
    
    var MostraShows = Cn.Execute(Sql);
    
    .
    .
    .
    .

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Questo e` un problema diverso (che va inserito in una discussione diversa).

    Inoltre questo e` un problema ASP (non jscript), come vedi dal tipo di errore che ricevi, per cui va postato nel forum ASP.

    Questo discussione puo` rimanere aperta per il problema iniziale.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    capisco.

    ti ringrazio comunque.

    in effetti cambiando la query funzona, anche se l'interazione jscript/asp non sempre mi è molto chiara pur avendo letto molti tutorials in rete...ne avresti qualcuna da consigliarmi in particolare?

    grazie

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.