http://www.vessella.it KARIBU!
Appunti di programmazione

INDICE

ITALIANO
Copertina
Il topo e il mouse
L'esperanto
Vocabolario esperanto
Vocabolario swahili
Il swahili
Alcuni filmati sulla Tanzania

Scuola
Questionari in inglese

Programmazione
Archivi Access e FrontPage
Gestione Archivi con le funzioni di FrontPage
Proteggere un sito in ASP (I)
Proteggere un sito in ASP (II)
Contatore e Statistiche
Utilizzare CDONTS (provvisorio)
Le date in ASP e SQL
Connessione a un archivio Access
Configurazione di una rete (PDF)
Criteri di protezione (PDF)
Esperanta Klavaro en EeePC kun originala Xandros

ESPERANTO
Koverto
Vortaro itala
Vortaro suahila
La suahila lingvo
Videokasedoj pri Tanzanujo

KISWAHILI
Jalida
Kamusi ya kiesperanto
Lugha ya Kiesperanto
Azimio la Praha
Video juu ya Tanzania

ENGLISH
Home
The Esperanto language
The Swahili language
Some videos on Tanzania

Le date in ASP e SQL

di Nino Vessella

2000 04 01


Dopo la brutta esperienza con Aruba che, per colpa di Microsoft (secondo un arubiano), cambiava, fra le altre cose, il formato delle date, ho pensato di non usare piú il tipo date nelle mie pagine.

Tutte le date le trasformo in stringhe "ungheresi", cioé nel formato giustamente adottato dall'ANSI che permette l'ordinamento: AAAAMMGGhhmmss.

Per fare questo ho sostituito le funzioni di VBScript.

Poiché io (non ho la pretesa di insegnare ad altri, ma sto semplicemente 'raccontando' le mie soluzioni!) ho due esigenze diverse ho creato due pagine di funzioni da includere nelle normali ASP che utilizzano le date e tutti i campi che dovrebbero essere di tipo data/ora dei miei archivi .mdb o SQL sono di tipo testo.

fn_strData.asp

Nelle funzioni incluse in questo file utilizzo il punto come separatore delle varie parti perché mi permette di usare la funzione split().

Le funzioni sono:

sDataStr - Trasforma la data di sistema (in qualsiasi formato essa sia) nella stringa AAAA.MM.GG.hh.mm.ss. Esempio 01-12-1900  23:59:59 ->: 1900.12.01.23.59.59

sStrData(sData) - Estrae una data in formato ANSI dalla stringa AAAA.MM.GG.hh.mm.ss. Esempio: sStrData("1900.12.01.23.59.59") riporta 1900 12 01

sStrDataOra(sData) - Estrae data e ora in formato ANSI dalla stringa AAAA.MM.GG.hh.mm.ss. Esempio: sStrDataOra("1900.12.01.23.59.59") riporta 1900 12 01 23:59:59

sStrDataIta(sData) - Estrae una data in formato Italiano "breve" dalla stringa AAAA.MM.GG.hh.mm.ss. Esempio: sStrDataIta("1900.12.01.23.59.59") riporta 01-12-1900

sStrDataOraIta(sData) - Estrae data e ora in formato italiano "breve" dalla stringa AAAA.MM.GG.hh.mm.ss. Esempio: sStrDataOraIta("1900.12.01.23.59.59") riporta 01-12-1900 23:59:59

sStrLDataIta(sData) - Estrae una data in formato Italiano "lungo" dalla stringa AAAA.MM.GG.hh.mm.ss. Esempio: sStrDataIta("1900.12.01.23.59.59") riporta 01-dic-1900

sStrLDataOraIta(sData) - Estrae data e ora in formato italiano "lungo" dalla stringa AAAA.MM.GG.hh.mm.ss. Esempio: sStrDataOraIta("1900.12.01.23.59.59") riporta 01-dic-1900 23:59:59

<%

Function sDataStr

 sDataStr= _
 right("19" & cStr(Year(Date)),4) & "." & _
 right("00" & cStr(Month(Date)),2) & "." & _
 right("00" & cStr(Day(Date)),2) & "." & _
 right("00" & cStr(Hour(Time)),2) & "." & _
 right("00" & cStr(Minute(Time)),2) & "." & _
 right("00" & cStr(Second(Time)),2)

end function

Function sStrData(sData)

 asData=Split(sData,".",3)
 sStrData = asData(0) & " " & _
   asData(1) & " " &   asData(2)

end function

Function sStrDataOra(sData)

 asData=Split(sData,".")
 sStrDataOra = asData(0) & " " & _
  asData(1) & " " & asData(2) & _
  asData(3) & ":" & asData(4) & ":" & asData(5)

end function

Function sStrDataIta(sData)

asDataIta=Split(sData,".",3)
sStrDataIta = asDataIta(2) & "-" & _
  asDataIta(1) & "-" & asDataIta(0)

end function

Function sStrDataOraIta(sData)

asDataIta=Split(sData,".")
sStrDataOraIta = asDataIta(2) & "-" & _
 asDataIta(1) & "-" & asDataIta(0) & _
 asDataIta(3) & ":" & asDataIta(4) & ":" &_
 asDataIta(5)

end function

Function sStrLDataIta(sData)

 asDataIta=Split(sData,".",3)
 sStrLDataIta = asDataIta(2) & "-" &_
  MonthName(asDataIta(1),true) & "-" & _
  asDataIta(0)

end function

Function sStrLDataOraIta(sData)

 asDataIta=Split(sData,".")
 sStrLDataOraIta = asDataIta(2) & "-" & _
  MonthName(asDataIta(1),true) & "-" & _
  asDataIta(0) & asDataIta(3) & ":" & _
  asDataIta(4) & ":" & asDataIta(5)

end function

%>

fn_dAnsi.asp

Le funzioni incluse in questo file, invece, trasfomano il tempo di sistema (data e ora) in una stringa formato ANSI "puro", cioé senza separatori (se ricordo bene le norme ISO prevedono uno spazio) 

Le funzioni sono:

DataAnsi(SysDate) - Riporta la stringa: AAAAMMGG
DataOraAnsi(SysNow) - Riporta la stringa:
AAAAMMGGhhmmss
Anno(SysDate) - Riporta l'anno
Mese(SysDate) - Riporta il mese

Giorno(SysDate) - Riporta il giorno
Ora(SysNow)
Minuti(SysNow)
Secondi(SysNow)
Data() - Riporta la data nel formato: AAAA-MM-GG
Tempo() - Riporta l'ora nel formato:
hh:mm:ss

<%

Function DataAnsi(SysDate)

 DataAnsi= _
   right("19" & cStr(Year(SysDate)),4) & _
  right("00" & cStr(Month(SysDate)),2) & _      right("00" & cStr(Day(SysDate)),2)

end function

Function DataOraAnsi(SysNow)

 DataOraAnsi= _
  right("19" & cStr(Year(SysNow)),4) & _
  right("00" & cStr(Month(SysNow)),2) & _
 right("00" & cStr(Day(SysNow)),2) & _
  right("00" & cStr(Hour(SysNow)),2) & _
 right("00" & cStr(Minute(SysNow)),2) & _
  right("00" & cStr(Second(SysNow)),2)

end function

 

Function Anno(SysDate)

 Anno=cInt(mid(DataANSI(SysDate),1,4))

end function

 

Function Mese

 Mese=cInt(mid(DataANSI(SysDate),5,2))

end function

 

Function Giorno(SysDate)

 Giorno=cInt(mid(DataANSI(SysDate),7,2))

end function

 

Function Ora(SysNow)

 Ora=cInt(mid(DataOraANSI(SysNow),9,2))

end function

 

Function Minuti(SysNow)

 Minuti=cInt(mid(DataOraANSI(SysNow),11,2))

end function

 

Function Secondi(SysNow)

 Secondi=cInt(mid(DataOraANSI(SysNow),13,2))

end function

 

Function Data

 Data=dateSerial(Anno,Mese,Giorno)

end function

 

Function Tempo

 Tempo=timeSerial(Ora,Minuti,Secondi)

end function

%>

 

Numero di lettori:  

 

 


© Nino Vessella , 1996-.
Diritti riservati. Nessuna parte può essere riprodotta, in qualsiasi forma o mezzo, senza citare la fonte.
Ĉiuj rajtoj rezervitaj. Neniu parto povas esti reproduktita, en kiu ajn formo au per kiu ajn metodo, sen mencii ĉi tiun fonton.
Haki zote zimehifadhiwa. Hairuhusiwi kunakili sehemu yoyote bila kuitaja asili yake hii.
All rights reserved. No part may be reproduced, in any form or by any means, without mention of this source.