Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Codice ASP e funzionamento su pc diversi

    Ci sono possibilità che questo codice ASP, funzioni regolarmente su certi pc e su altri no, facendo caos con le date ?

    A chi me lo ha fatto notare (a suo dire, non ho le prove - penso più a sua incapacità-) ho detto che ASP viene eseguito lato server e dunque il client locale non c'entra nulla, ho sbagliato ?

    Il codice (trovato con la ricerca e firmato da santino) risale al primo giorno ed all'ultimo giorno della settimana di una determinata data.

    codice:
    giorno_attuale = WeekDay(strDal_giorno)
    differenza = giorno_attuale - 2
    if differenza > 0 then
    primo_giorno = dateadd("d", (differenza*-1), strDal_giorno)
    elseif differenza < 0 then 
    if giorno_attuale = 7 then
    primo_giorno = dateadd("d", 2, strDal_giorno)
    elseif giorno_attuale = 1 then
    primo_giorno = dateadd("d", 1, strDal_giorno)
    end if
    else
    primo_giorno = strDal_giorno
    end if
    differenza = 6 - giorno_attuale
    if differenza > 0 then
    ultimo_giorno = dateadd("d", differenza, strDal_giorno)
    elseif differenza < 0 then 
    ultimo_giorno = dateadd("d", 6, strDal_giorno)
    else
    ultimo_giorno = strDal_giorno
    end if

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Quali differenze hai riscontrato?

    Roby

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Ho provato lo script:

    Codice PHP:
    <%

    strdal_giorno cdate("02/08/2006")

    giorno_attuale WeekDay(strDal_giorno)
    differenza giorno_attuale 2
    if differenza 0 then
    primo_giorno 
    dateadd("d", (differenza*-1), strDal_giorno)
    elseif 
    differenza 0 then 
    if giorno_attuale 7 then
    primo_giorno 
    dateadd("d"2strDal_giorno)
    elseif 
    giorno_attuale 1 then
    primo_giorno 
    dateadd("d"1strDal_giorno)
    end if
    else
    primo_giorno strDal_giorno
    end 
    if
    differenza giorno_attuale
    if differenza 0 then
    ultimo_giorno 
    dateadd("d"differenzastrDal_giorno)
    elseif 
    differenza 0 then 
    ultimo_giorno 
    dateadd("d"6strDal_giorno)
    else
    ultimo_giorno strDal_giorno
    end 
    if

    response.write primo_giorno &"-"ultimo_giorno
    %>

    31/07/06-04/08/06 
    a me funziona...

  4. #4
    I diversi pc hanno caratteristiche software differenti???

    Tipo sistemi operativi, ecc.
    http://www.veramentegratis.it Community in cui potrete trovare o segnalare tutto ciò che è "Veramente Gratis
    http://www.websemplice.net Web hosting & Template free

  5. #5
    la data asp la prende dal server, non dal client

    poi il fatto che sia firmato da me non vuol dire che sia corretto fai una cosa, fatti stampare mese per mese tutte le date con a fianco i risultati dello script e controlla che venga fuori regolare con tutte le date...sai, magari quando ci sono date a cavallo di Anni uno script fatto male potrebbe dare errore...checca checca e dai tizi che dicono che non va fatti dire: 1) che operazioni hanno svolto e 2) fatti dare uno screenshot se possono

  6. #6
    così ad occhio e croce quello che salta all'occhio è che in quello script non si tiene conto di quando inizia la settimana.
    ergo se il server è inglese verrà restituito come primo giorno della settimana una domenica, mentre su server italiano verrà restituito un lunedì.
    nella funzione Weekday tuttavia il primo giorno della settimana può essere specificato tramite le apposite costanti vb.

    se ho capito bene comunque, data una data ( ) devi recuperare il primo e l'ultimo giorno della settimana in cui quella data cade?
    in tal caso forse questo è più semplice:

    codice:
    sub intervallo(data, ByRef primoGiorno, ByRef ultimoGiorno)
    	
    	Dim inizioSettimana, giornoSettimana
    	
    	inizioSettimana = 1 'vbSunday
    	giornoSettimana = Weekday(data, inizioSettimana)
    	
    	primoGiorno	= DateAdd("d", -(giornoSettimana -1), data)
    	ultimoGiorno	= DateAdd("d", 7 - (giornoSettimana), data)
    
    end sub
    
    Dim oggi, primo, ultimo
    
    oggi = Date()
    
    Call intervallo(oggi, primo, ultimo)
    
    Response.Write (oggi & "
    " & primo & "
    " & ultimo)
    per duttilità sarebbe bene aggiungere la variabile inizioSettimana tra quelle in ingresso della routine..
    xxx

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Il server su cui gira la funzione è una versione inglese di windows server 2000.
    Il db access su cui si registrano le date il campo "data" è data/ora formato AAAA/MM/GG.

    Su alcuni pc, questo codice fa l'inversione del mese con il giorno, cioè:

    2006/08/03 diventa 2006/03/08

    questo mi hanno segnalato....

  8. #8
    se stai parlando di n unico server è un conto, ma se stai testando ilprg su più server fa la differenza anche la lingua ---- U -----
    http://www.veramentegratis.it Community in cui potrete trovare o segnalare tutto ciò che è "Veramente Gratis
    http://www.websemplice.net Web hosting & Template free

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.