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

Discussione: Verificare data e ora

  1. #1

    Verificare data e ora

    Salve ragazzi,
    esiste un altro metodo oltre a questo:

    If Now () < cDate(StrToData(RSArticoli("Data")) & " " & StrToOra(RSArticoli("Ora"))) Then

    per verificare la data e l'ora?
    Perché questa la utilizzo due volta in una pagina ma non mi funziona


    grazie

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Spiegati meglio per favore.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    dunque,
    devo verificare che un articolo abbia la data e l'ora precedente a quella attuale.
    Se la condizione si verifica, mi mostra l'articolo, altrimenti non lo mostra, fino a quando non arriva l'ora di pubblicazione.
    Es. ora sono le 11.00 del 25/11/2006, e io ho impostato la data di uscita di un articolo alle 18.00 del 26/11/2006, lui mi verifica questa condizione e fino a quando non saranno le 18 del 26/11 non dovrà uscira l'articolo.

    Il fatto è che io ho utilizzato due volte questa condizione (in due parti diverse della pagina), la seconda volta mi funziona, mentre nella prima no.

    posso postare tutto il codice della pagina?
    lo metto sotto se non va bene ditemelo che lo cancello.



    <%
    Dim SQLArticoli, RSArticoli, ArticoloTrovato

    SQLArticoli = ""
    RSArticoli = ""
    ArticoloTrovato = ""

    'Cerco gli ultimi 5 articoli non bozza

    SQLArticoli = "SELECT TOP "& 5 &" Articoli.ID, Articoli.Sezione, Count(Commenti.ID) AS ConteggioID, Articoli.Titolo, Articoli.Autore, Articoli.Data, Articoli.Ora, Articoli.Testo, Articoli.Letture, Articoli.Podcast FROM [Commenti] RIGHT JOIN [Articoli] ON Commenti.IDArticolo = Articoli.ID WHERE Articoli.Data <= '"& DataToStr(Date()) &"' AND NOT Articoli.Bozza GROUP BY Articoli.ID, Articoli.Sezione, Articoli.Titolo, Articoli.Autore, Articoli.Data, Articoli.Ora, Articoli.Testo, Articoli.Letture, Articoli.Podcast ORDER BY Articoli.Data DESC, Articoli.Ora DESC"
    Set RSArticoli = Server.CreateObject("ADODB.Recordset")
    RSArticoli.Open SQLArticoli, Conn, 1, 3
    %>
    <%

    'VISUALIZZO PER INTERO GLI ARTICOLI SELEZIONATI


    ArticoloTrovato = False

    If NOT RSArticoli.EOF Then
    Do While NOT RSArticoli.EOF
    If Now () < cDate(StrToData(RSArticoli("Data")) & " " & StrToOra(RSArticoli("Ora"))) Then
    ArticoloTrovato = True
    %>
    <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
    <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
    <tr>
    <td><div class="titolo"> <%=RSArticoli("Titolo")%></div>
    <div align="right"></div></td>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF">
    <tr>
    <td align="left" scope="col"><span class="Stile71"><%=Contributo_Di%><%=RSArticoli("A utore")%> - (Letto <%=RSArticoli("Letture")%> volte) -
    <%

    'commentato quante volte?

    If Abilita_Commenti Then %>
    <%=Link_Commenti%><%=RSArticoli("ConteggioID")%>
    <% End If %>
    </span></td>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="5" cellspacing="0">
    <tr>
    <td bgcolor="#FFFFFF"><div>

    <%=Trailer(FileToVar(Path_DirPublic & RSArticoli("Testo"), 0), "articolo.asp?articolo="& RSArticoli("ID") &"", True)%>
    <%

    %>
    </div></td>
    </tr>
    </table></td>
    </tr>
    </table>



    <%
    End If
    RSArticoli.MoveNext
    Loop

    If ArticoloTrovato = False Then
    %>
    <div class="giustificato"><%=Errore_Articolo_NonTrovato %></div>
    <%
    End If
    Else
    %>
    <div class="giustificato"><%=Errore_Articolo_NonTrovato %></div>
    <%
    End If
    %>



    </div>
    </div>

    <table width="100%" border="0" cellpadding="2" cellspacing="1" bgcolor="#FFFFFF">
    <tr>

    </tr>
    <tr>
    <th >
    </th>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
    <tr>
    <th background="immagini/sf.gif" bgcolor="#000000" scope="col"><div align="left"><span class="Stile61">Le ultime notizie inserite </span></div></th>
    </tr>
    </table>



    <%
    SQLArticoli = ""
    RSArticoli = ""
    ArticoloTrovato = ""

    'Cerco gli ultimi N articoli
    SQLArticoli = "SELECT TOP "& Num_Max_Articoli &" Articoli.ID, Articoli.Sezione, Count(Commenti.ID) AS ConteggioID, Articoli.Titolo, Articoli.Autore, Articoli.Data, Articoli.Ora, Articoli.Testo, Articoli.Letture, Articoli.Podcast FROM [Commenti] RIGHT JOIN [Articoli] ON Commenti.IDArticolo = Articoli.ID WHERE Articoli.Data <= '"& DataToStr(Date()) &"' AND NOT Articoli.Bozza GROUP BY Articoli.ID, Articoli.Sezione, Articoli.Titolo, Articoli.Autore, Articoli.Data, Articoli.Ora, Articoli.Testo, Articoli.Letture, Articoli.Podcast ORDER BY Articoli.Data DESC, Articoli.Ora DESC"
    Set RSArticoli = Server.CreateObject("ADODB.Recordset")
    RSArticoli.Open SQLArticoli, Conn, 1, 3

    %>






    <%
    'E visualizzo gli eventuali risultati (solo i titoli)
    ArticoloTrovato = False

    If NOT RSArticoli.EOF Then
    Do While NOT RSArticoli.EOF
    If Now() > cDate(StrToData(RSArticoli("Data")) & " " & StrToOra(RSArticoli("Ora"))) Then
    ArticoloTrovato = True
    %>
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td><div>
    <% If DataToStr(Date()) = RSArticoli("Data") Then %>
    <%=StrToData(RSArticoli("Data"))%>[/b]
    <% Else %>
    <%=StrToData(RSArticoli("Data"))%>
    <% End If %>
    - "><%=RSArticoli("Titolo")%></div>
    <div align="right"></div></td>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="0" cellspacing="0">

    <tr>
    <td>
    <span class="Stile70"><%=Contributo_Di%><%=RSArticoli("A utore")%> - (Letto <%=RSArticoli("Letture")%> volte) -
    <%

    'commentato quante volte?

    If Abilita_Commenti Then %>
    <%=Link_Commenti%><%=RSArticoli("ConteggioID")%>
    <% End If %>
    </span></td>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <th colspan="2" bgcolor="#E7E7E7" scope="col"><div align="left" class="Stile36"></div></th>
    </tr>
    </table>
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td height="5" colspan="2" scope="col"><div align="left" class="Stile36"></div></td>
    </tr>
    </table>
    <%
    End If
    RSArticoli.MoveNext
    Loop

    If ArticoloTrovato = False Then
    %>
    <div class="giustificato"><%=Errore_Articolo_NonTrovato %></div>
    <%
    End If
    Else
    %>
    <div class="giustificato"><%=Errore_Articolo_NonTrovato %></div>
    <div align="left">
    <%
    End If
    %>
    </div>


    <table width="99%" border="0" align="center" cellpadding="00" cellspacing="1" bgcolor="#66CCFF">
    <tr>
    <td bgcolor="#FFFFFF"><table width="468" border="0" align="center" cellpadding="0" cellspacing="0" class="Stile16">
    <tr>
    <td width="134" valign="top"></td>
    <td valign="top" width="334"><table width="334" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="334" align="center"><span class="Stile56"><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000">Registrazione dominio, spazio web illimitato,

    5 caselle di posta, a sole Euro 20.66+iva annue.</font></span></td>
    </tr>
    <tr>
    <td heigth="60" valign="top" align="center"><form action="http://hosting.aruba.it/startAdTargetHosting.asp" method="get" name="checkavail" class="Stile56" id="checkavail">
    <font face="Arial, Helvetica, sans-serif">www.</font>
    <input type="text" maxlength="63" name="domain" size="12" />
    <font face="Arial, Helvetica, sans-serif">.</font>
    <input type="hidden" name="Codifica" value="347877289" />
    <select name="tld" size="0">
    <option value="com" selected="selected">.com </option>
    <option value="net">.net </option>
    <option value="org">.org </option>
    <option value="it">.it </option>
    <option value="info">.info </option>
    <option value="biz">.biz </option>
    </select>
    <input type="image" name="submit" value="Vai" src="http://rivenditori.aruba.it/images/468xNNvai.gif" width="55" height="18" />
    </form></td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    </table>

  4. #4

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Di che di tipo di db stiamo parlando?
    Per la verifica delle date e degli orari SQL prevede una sintassi precisa (non ci inventiamo niente):

    http://www.w3schools.com/vbscript/vb..._functions.asp
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  6. #6
    si tratta di un DB Access.

    Ma la pagina come è scritta?
    Come mai non mi funziona la prima vrifica della data e dell'ora?
    La seconda va benissimo...non riesco a capire

  7. #7

  8. #8
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    codice:
    If Now () < cDate(StrToData(RSArticoli("Data")) & " " & StrToOra(RSArticoli("Ora"))) Then
    a parte che non capisco cosa sia StrToData (una funzione tua?) e nemmeno CDate (non è già un dato contenuto in un campo Data/Ora?)... una volta che hai le due date, quella di pubblicazione e quella restituita da Now(), ti basta usare la funzione DateDiff passandogli come primo argomento la stringa di formato in secondi... se sarà minore/uguale a 0 lo pubblichi, altrimenti no.

    Ovviamente sta a te decidere come usarla... se hai solo la data non è un grosso problema, se invece hai anche l'ora e i secondi, ti consiglio prima di fare uan datediff sui giorni (pena un overflow dei secondi o la necessità di dover dichiarare una variabile enorme) quindi se è pari a 0 ne fai una sui secondi... se entrambe saranno minori uguali a 0 ecco che pubblicherai.

    codice:
    Date=Now()
    DataPubbl=RsArticoli("Data")
    
    days=DateDiff("d",Date, DataPubbl)
    If (days<0) then
       'Pubblica
    elseif (days=0)
       secs=DateDiff("s",Date, DataPubbl)
       If (secs<=0) then
          'Pubblica
       End if
    End If

  9. #9
    il fatto è che io non sono molto pratico del linguaggio...

    cmq ti posto il codice delle funzioni cos' magari puoi aiutarmi ancora d+....

    'Conversione dal formato data (gg/mm/aaaa) al formato stringa (aaaammgg)
    Function DataToStr(Data)
    Dim Anno, Mese, Giorno
    Anno = cStr(Year(Data))
    Mese = cStr(Month(Data))
    If Len(Mese) = 1 Then
    Mese = "0" & Mese
    End If
    Giorno = cStr(Day(Data))
    If Len(Giorno) = 1 Then
    Giorno = "0" & Giorno
    End If
    DataToStr = Anno & Mese & Giorno
    End Function

    'Conversione dal formato stringa (aaaammgg) al formato data (gg/mm/aaaa)
    Function StrToData(Stringa)
    Dim Anno, Mese, Giorno
    Anno = Mid(Stringa, 1, 4)
    Mese = Mid(Stringa, 5, 2)
    Giorno = Mid(Stringa, 7, 2)
    If IsDate(Giorno & "/" & Mese & "/" & Anno) = True Then
    StrToData = cDate(Giorno & "/" & Mese & "/" & Anno)
    Else
    StrToData = Date
    End If
    End Function

    'Conversione dal formato ora (hh:mm:ss) al formato stringa (hhmmss)
    Function OraToStr(Ora)
    Dim Ore, Minuti, Secondi
    Ore = cStr(Hour(Ora))
    Minuti = cStr(Minute(Ora))
    Secondi = cStr(Second(Ora))
    If Len(Ore) = 1 Then
    Ore = "0" & Ore
    End If
    If Len(Minuti) = 1 Then
    Minuti = "0" & Minuti
    End If
    If Len(Secondi) = 1 Then
    Secondi = "0" & Secondi
    End If
    OraToStr = Ore & Minuti & Secondi
    End Function

    'Conversione dal formato stringa (hhmmss) al formato ora (hh:mm:ss)
    Function StrToOra(Stringa)
    Dim Ore, Minuti, Secondi
    Ore = Mid(Stringa, 1, 2)
    Minuti = Mid(Stringa, 3, 2)
    Secondi = Mid(Stringa, 5, 2)
    StrToOra = Ore & ":" & Minuti & ":" & Secondi
    End Function


    intanto grazieeeeeeeeeeeeeeeee

  10. #10
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    Scusa, ma chi l'ha scritto quel codice?
    Che senso ha convertire le date/ore in stringhe e viceversa? ma poi esiste il Cdate/Cstr... boh.

    Io ho letto quello che chiedevi di fare e ti ho consigliato di usare la datediff... la funzione Now fra l'altro già contiene anche l'orario, quindi sia inserimento che in controllo delle date ti basta usare la DateDiff...

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.