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

Discussione: Confronto tra date

  1. #1

    Confronto tra date

    Ciao, ho un problema che mi sta facendo impazzire da tempo: il confronto tra date in ASP.
    Perchè quando tento di fare un confronto tra due date nel formato standard di ASP (gg/mm/aaa hh.mm) il confronto viene effettuato come se fossero due stringhe invece che due date??
    Cosa devo fare per risolvere il problema??
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  2. #2
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    forse perchè dovresti usare #tua_data1#= #tua_data2#

    ??

  3. #3
    I campi del db come sono settati?

    Comunque il problema delle date è un problema noto, specie con db Access.

    Il consiglio che ti posso dare è quello di creare i campi del db non come campi "data" ma come campi "numerici".
    Al momento di inserire la data, la inserisci come se fosse un numero nel formato aaaammgg.

    Così facendo, qualsiasi confronto viene fatto a livello di numero e non di data, restituendo quindi risultati certi, e non inversioni del giorno con il mese come spesso succede.

    Alla fine, al momento di stampare a video la data, la formatti con un funzione in gg/mm/aaaa.

    Guarda qui

  4. #4
    Dirk Pitt hai ragione, credo che alla fine la cosa migliore sia quella di utilizzare un formato numerico...
    Anche io avevo pensato di fare una cosa simile ma pensavo di farla nel formato italiano ggmmaaaa, ma ovviamente cosi facendo i confronti sarebbero comunque sbagliati!
    Grazie!
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  5. #5
    Sbagliati sì.
    Il 25 aprile 2006 è inferiore del 01 maggio 2006.
    Le due date però scritte come numero ggmmaaaa risultano inverse, in quanto la prima 25042006 non risulta inferiore della seconda 01052006.

    Non ti rimane che usare il formato numerico aaaammgg.


  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    scusami dirk ma questo vale anche per sqlserver?

    comunque io al momento riscontro errori di questo tipo...
    ma non vorrei...

  7. #7
    La soluzione proposta da Dirk Pitt non c'entra nulla con il database in uso, infatti basta creare la data in formato aaaammgg e inserirla in un normale campo numerico, solo al momento della visualizzazione formatti la data con la funzione mid, per il resto la consideri come se fosse un dato numerico!
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  8. #8
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    in realtà ho settato tutte le miecampi data in formato (data) aaaa/mm/gg

    non ho bisogno quindi di ricorrere a mid, mi chiedevo solamente se un 2006/04/26 fosse riconosciuto come maggiore di 2005/05/01

  9. #9
    potresti fare una datediff tra le due date......

    se il risultato di data1-data2 è positivo allora data1 è maggiore

    mentre se data1-data2 è negativo allora è maggiore data 2

    LINK

  10. #10
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    grazie per la dritta

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.