Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    Problema con le date: registra il mese anziché il giorno

    Ciao amici da Maria.
    Ho un grossissimo problema. A volte, quando on line registro in un db, al momento di registrarmi la data e l'ora esatta di quando sto registrando, nel campo LastDate, mi registra al contrario mese e giorno. E così 05.07.2004 mi diventa 07.05.2004 ovvero dal cinque luglio mi dice invece che è il 7 maggio. Un vero problema che non riesco a risolvere.
    Non saprei dove intervenire.

    Vi scrivo lo script che indica la registrazione della data, che ci sia qualche errore?

    eccolo:


    db.execute("Update tblTopic set LastDate = '" & Now & "', Replies = Replies + 1 where PostID = " & ReplyToID)


    Può dipendere da aulche errore commesso in questo script?
    Aiutatemi. Grazie in anticipo.

    maria
    Grazie per quello che hai fatto...

  2. #2
    cercato sul forum?!
    viene chiesto almeno una volta al giorno...

  3. #3
    Il problema è dovuto al seguente motivo: il server online (come di norma) ha un sistema operativo in inglese e, come ben sai, le date nel formato inglese sono composte da mm/dd/yyyy. A causa di questo le funzioni sulle date di vbScript (o JScript) formattano la data in quel modo. Lo stesso fa l'engine del database, ovvero il driver che si usa per connettersi al database o il provider di connessione.
    La soluzione è quella di iniziare ad abituarsi sin da subito a trattare le date nel formato inglese per memorizzarle e/o selezionarle da db e di cambiarle nel formato italiano per visualizzarle sulle pagine web.

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    codice:
    Function FormatDateTimeLCID (str, nNamedFormat, nLCID)		
    dim strRet, nOldLCID					
    	strRet = str						
    	nOldLCID= Session.LCID		
    	On Error Resume Next					
    	If (nLCID > -1) Then  Session.LCID = nLCID		
    	strRet = FormatDateTime(str, nNamedFormat)
    	If (nLCID > -1) Then Session.LCID = nOldLCID
    	FormatDateTimeLCID = strRet				
    End Function
    Con questa funnzione inserisci il dato nel formato che vuoi
    FormatDateTimeLCID(Now,2,1040) formato italiano
    FormatDateTimeLCID(Now,2,1033) formato inglese
    Io ho inserito 2 solo per esempio (vbshortDate),cmq i parametri nNamedFormat sono gli stessi di FormatDateTime

  5. #5
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    dove metto questa funzione

    codice:
    Function FormatDateTimeLCID (str, nNamedFormat, nLCID)		
    dim strRet, nOldLCID					
    	strRet = str						
    	nOldLCID= Session.LCID		
    	On Error Resume Next					
    	If (nLCID > -1) Then  Session.LCID = nLCID		
    	strRet = FormatDateTime(str, nNamedFormat)
    	If (nLCID > -1) Then Session.LCID = nOldLCID
    	FormatDateTimeLCID = strRet				
    End Function
    E questa funzione dove la scrivo?
    Grazie per quello che hai fatto...

  6. #6
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    La metti in un include o la scrivi in cima alla pagina dove la utilizzi
    codice:
    Function FormatDateTimeLCID (str, nNamedFormat, nLCID)		
    dim strRet, nOldLCID					
    	strRet = str						
    	nOldLCID= Session.LCID		
    	On Error Resume Next					
    	If (nLCID > -1) Then  Session.LCID = nLCID		
    	strRet = FormatDateTime(str, nNamedFormat)
    	If (nLCID > -1) Then Session.LCID = nOldLCID
    	FormatDateTimeLCID = strRet				
    End Function
    
    '....altro tuo codice
    db.execute("Update tblTopic set LastDate = '" & FormatDateTimeLCID
    (Now,2,1040) & "', Replies = Replies + 1 where PostID = " & ReplyToID) 
    '......altro tuo codice
    La stessa funzione la puoi anche utilizzare quando vai a leggere il valore dal database
    codice:
    dataDb = FormatDateTimeLCID(RecordSet("LastDate"),2,1040)

  7. #7
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    Non funziona

    Ciao Kluster ho cambiato il mio codice inserendo
    db.execute("Update tblTopic set LastDate = '"& FormatDateTimeLCID(Now,2,1040) &"', Replies = Replies + 1 where PostID = " & ReplyToID)

    Mi daquesto errore:

    Errore di run-time di Microsoft VBScript errore "800a01f4'

    Variabile non definita: 'FormatDateTimeLCID'




    Che devo fare?
    Grazie per quello che hai fatto...

  8. #8
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    richiama la funzione con call
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  9. #9
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    che significa?

    Che significa richiama la funzione con call?
    Grazie per quello che hai fatto...

  10. #10
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    non capisco

    non capisco
    Grazie per quello che hai fatto...

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.