| |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
[VB]date() Clicca QUI per vedere il messaggio nel forum |
URANIO |
Ho un problemino con la funzione date() che mi restituisce la data del giorno.
Stò facendo un blog e naturalmente quando viene fatto un post salvo pure la data con questa funzione, quando era sul mio computer la data veniva scritta regolarmente in italiano ex"luned',30 luglio, 2003" .....ma adesso che è sul server(americano) la data viene visualizzata in inglese" Wednesday, July 30, 2003".
Come posso trasformarla in italiano?:( |
lorenzo |
Se lo script viene eseguito su un server americano, quindi con software in inglese, dubito che potrà mai scrivere la data coi nomi dei giorni e dei mesi in italiano. Al massimo puoi impostarlo in modo che la scriva solo con le cifre (vbShortDate), cmq ti visualizza prima il mese e poi il giorno.
A meno che tu non ti voglia fare una funzioncina di conversione. Non sarebbe nemmeno una cosa lunga. |
URANIO |
lo so ma volevo fare quacosa di + ...em veloce!
Dato che essendo americano pure la data è sfasata, quindi per ogni data dovrei aggiungere 6 ore, verificare che la data non cambi e poi modificare il tutto in italiano! |
lorenzo |
In che senso "verificare che la data non cambi" aggiungendo le sei ore? È una normale converione di fusorario, no?
Per la traduzione puoi farti due array con i nomi dei giorni e dei mesi.
Con la funzione DatePart ti fai ritornare l'indice prima del giorno della settimana, poi del giorno vero proprio, il mese e l'anno.
Per il giorno della settimana e il mese ti ritorna un indice, con il quale vai a beccarti la stringa dall'array che ti sei fatto prima.
Dovrebbe funzionare.
code:
Dim giorni(7)
giorni(1) = "domenica"
giorni(2) = "lunedì"
...
Dim mesi(12)
mesi(1) = "gennaio"
mesi(2) = "febbraio"
...
giornosettimana = giorni(DatePart("w", MiaData))
giorno = DatePart("d", MiaData)
mese = mesi(DatePart("m", MiaData))
anno = DatePart("y", MiaData)
|
sonica |
anche secondo me dovresti riformattarti la data con 3 passaggi di datepart
Microsoft® Visual Basic® Scripting Edition
Funzione DatePart Riferimento al linguaggio
Versione 2
Vedere anche
--------------------------------------------------------------------------------
Descrizione
Restituisce la parte specificata di una determinata data.
Sintassi
DatePart(intervallo, data[, primogiornosettimana[, primasettimanaanno]])
La sintassi della funzione DatePart è composta dalle seguenti parti:
Parte Descrizione
intervallo Obbligatoria. Espressione stringa che specifica l'intervallo di tempo che si desidera venga restituito. I possibili valori sono indicati nella sezione Impostazioni.
data Obbligatoria. Espressione di data che si desidera valutare.
primogiornosettimana Facoltativa. Costante che specifica il giorno della settimana. Se omessa, viene automaticamente impostato domenica. I possibili valori sono indicati nella sezione Impostazioni.
primasettimanaanno Facoltativa. Costante che specifica la prima settimana dell'anno. Se omessa, viene automaticamente impostata la prima settimana che include l'1 gennaio. I possibili valori sono indicati nella sezione Impostazioni.
Impostazioni
I possibili valori dell'argomento intervallo sono:
Valore Descrizione
yyyy Anno
q Trimestre
m Mese
y Giorno dell'anno
d Giorno
w Giorno della settimana
ww Settimana dell'anno
h Ora
n Minuti
s Secondi
I possibili valori dell'argomento primogiornosettimana sono:
Costante Valore Descrizione
vbUseSystem 0 Viene utilizzata l'impostazione API NLS (National Language Support).
vbSunday 1 Domenica (impostazione predefinita)
vbMonday 2 Lunedì
vbTuesday 3 Martedì
vbWednesday 4 Mercoledì
vbThursday 5 Giovedì
vbFriday 6 Venerdì
vbSaturday 7 Sabato
I possibili valori dell'argomento primasettimanaanno sono:
Costante Valore Descrizione
vbUseSystem 0 Viene utilizzata l'impostazione API NLS (National Language Support).
vbFirstJan1 1 Settimana in cui cade l'1 gennaio (impostazione predefinita).
vbFirstFourDays 2 Prima settimana che include almeno quattro giorni.
vbFirstFullWeek 3 Prima settimana completa.
Osservazioni
È possibile utilizzare la funzione DatePart per valutare una data e restituire un intervallo di tempo specifico. È possibile, ad esempio, utilizzarla per calcolare il giorno della settimana o l'ora corrente.
L'argomento primogiornosettimana ha effetto sui calcoli in cui sono utilizzati i simboli di intervallo "w" e "ww".
Se data è un valore letterale di data, l'anno specificato diventerà parte permanente della data. Se invece l'argomento è racchiuso tra virgolette doppie (" ") e l'anno è stato omesso, nel codice verrà inserito l'anno corrente ad ogni valutazione dell'espressione data. Ciò consente di scrivere codice utilizzabile in anni diversi.
Nell'esempio seguente la funzione DatePart viene utilizzata per individuare il trimestre in cui rientra la data specificata.
Function GetQuarter(TheDate)
GetQuarter = DatePart("q", TheDate)
End Function |
URANIO |
Originally posted by lorenzo
Ehm....
Ci stò lavorando
Ogni tanto mi fa quello scherzo ......penso sia dovuto al server che non mi permette di accedere al file che segna il numero di visitatori!
......Sul mio non dava problemi!mmmm:evil: |
webwarrior |
Questa funzione restituisce la data in formato standard RFC 822, quelo necessario per i feed RSS/RDF. Se può interessare.
Lo formatto come PHP anche se è ASP ....
PHP:
function LeadingZero(numero)
if numero<10 then
LeadingZero="0" & numero
else
LeadingZero="" & numero
end if
end function
DOW = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
Months = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
TimeZone = "+0100"
Function RSSDate(dDate)
RSSDate= Output & DOW(weekday(dDate,1)-1) & ", " & day(dDate) & " " & months(month(dDate)-1) & " " & year(dDate) & " " &LeadingZero(hour(dDate)) & ":" & LeadingZero(minute(dDate)) & ":" & LeadingZero(second(dDate)) & " " & TimeZone
End Function
'Blogwarrior v1.2 - 2003
|
URANIO |
ha ecco .......mi interessano questi feed RSS/RDF
Esiste un sito che li descriva correttamente? |
webwarrior |
In sé il concetto di RSS / RDF è semplice. È una sorgente XML, che puoi generare "al volo" via script oppure avere in un file .xml
I nodi devono seguire lo standard, che trovi qui
Per avere più informazioni, invece, inizia qui
Poi dipende dal linguaggio di scripting lato server che usi. Io lavoro principalmente in jscript / ASP e quindi vado sui siti forum relativi. Per PHP si trova parecchio in più, anche se un lingaggio ad oggetti è più indicato per manipolare strutture ad albero in XML.
La strada più semplice, secondo me, è quella di prendere un sorgente esistente e cercare di "imitarlo" :D |
URANIO |
Ho un altro problema:(
...un pò strano...
Ho risolto il problema delle date mettendo un <%session.lcid=1040%> all'inizio della pagina.
ma...
Perche se salvo la data nel database con
rs(0)= date() ...la salva in italiano
ma se faccio
dim data
data= date()
rs(0) = data
...la salva nel fomrato inglese?!?!?! |
webwarrior |
Ehh... questa è vecchia come il cuculo!
Anche se hai Windows2000 Server Italiano, con la locale impostata in Italiano, il driver DAO Italiano, MS Access / SQLserver in Italiano, lo script con locale Italiano...
Le date vengono salvate e visualizzate come cazzo gli pare.
Il 6/7/2003 è il 7 Giugno
il 14/7/2003 è il 14 Luglio
Devi usare le date in formato ANSI (anno, mese, giorno)
(attenzione ai fine linea)
PHP:
function dataANSI(data)
if not(isnull(data)) then
dataANSI=year(data) & "/" & LeadingZero(month(data)) & "/" & LeadingZero(day(data)) & " " &
LeadingZero(hour(data)) & "." &
LeadingZero(minute(data)) & "." & LeadingZero(second(data))
end if
end function
|
|
|
|
|