Newsgroup: it.comp.www.asp
Titolo: [.Net] Problema di date

salve a tutti...
ho un piccolo problemino con le date, probabilmente più un qualche cosa che
non quadra sul mio pc che un problema di codice.
questo codice:
Dim miaData As New DateTime(2003, 3, 31)
Response.Write(miaData)
Response.Write("<br>")
Response.Write(Format(miaData, "dd/MM/yyyy"))
Response.Write("<br>")
Response.Write(FormatDateTime(miaData, DateFormat.ShortDate))
eseguendo, il risultato su  una macchina è questo:
31/03/2003 0.00.00
31/03/2003
31/03/2003
mentre su un'altra è questo:
d.C./03/aaaa 0.00.00
31/03/2003
d.C./03/aaaa
in pratica, da qualche parte, in qualche impostazione, in qualche libreria,
c'è scritto che la data, per gli oggetti di tipo DateTime ha quello strano
formato, poi, Oracle quando vede arrivare quella robaccia, ragionevolmente
si arrabbia.
Per ora ho risolto passando ad Oracle delle stringe e non dei formati data
ma vorrei rimediare...
qualche idea?
grazie a tutti!
--
Claudio476
 -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
Blog :    
http://claudio476.splinder.it
Home :  
http://www.claudio4.tk
 -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -

Prova a convertire la data in questo modo:
  Dim oDT As DateTime = DateTime.Now
  Dim s As String = oDT.ToString("dd/MM/yyyy",
System.Globalization.CultureInfo.CurrentCulture.InvariantCulture)
Oppure prova utilizzando oDT.Tostring che č local aware e accetta una
stringa di formattazione
HTH
-- 
Corrado Cavalli [Microsoft MVP]
UGIdotNET - 
http://www.ugidotnet.org

secondo me ti conviene usare la funzione FormatDateTim(tuadata, vbLongDate)
in questo caso la "tuadata" la puoi impostare anche come testo
es.:
data = "28/03/2003"
response.write(FormatDateTime(data, vbLongDate))       -> venerdě, 28 marzo
2003
ovviamente controlla bene la variabile di sistema LCID a 1040 per l'italia
per la FormatDateTime() il secondo parametro č il formato e lo puoi
impostare in questi modi:
      Constant Value Description
      vbGeneralDate 0 Display a date and/or time. If there is a date part,
display it as a short date. If there is a time part, display it as a long
time. If present, both parts are displayed.
      vbLongDate 1 Display a date using the long date format specified in
your computer's regional settings.
      vbShortDate 2 Display a date using the short date format specified in
your computer's regional settings.
      vbLongTime 3 Display a time using the time format specified in your
computer's regional settings.
      vbShortTime 4 Display a time using the 24-hour format (hh:mm).
ma tu non hai la documentazione Microsoft Windows Script Technology?
ci sono scritte un sacco di cosine carine
Saluti
Maicol

 ha scritto nel messaggio
Cerchiamo di non confondere le acque più di come sono.
Ciao


Moderatore di it.comp.www.asp - Microsoft .NET MVP
http://www.aspitalia.com/
 Enjoy the .NET community!
Corso Classic ASP, 
ASP.NET
 a Lugo(Ra)? Dal 7 Aprile su
http://corsi.aspitalia.com/corsi/lugo.aspx
 

 --
Vi ringrazio.. ma il problema non è formattare un DateTime per ottenere una
stringa, è l'opposto!
se digito:
MiaData = CDate("02/02/2003")
mi viene restituito l'errore:
Cast non valido dalla stringa "02/02/2003" al tipo "Date".
facendo invece il contrario, da DateTime a Stringa, tutto funziona alla
perfezione, in qualsiasi modo faccia.
La questione si incentra sul fatto che il FORMATO utilizzato dalla mia
macchina per codificare il tipo DateTime è sballato, sballato per quei
comandi che provano a scriverlo, ma non per quei comandi che vanno a
leggerlo!
...non riesco a spiegarlo meglio perche non ho capito bene cos'è, ma resta
il fatto che il problema persiste solo su una macchina,
.... "format c:" è la soluzione migliore, ma prima...
vorrei provare a trovare, come impostare il fomato, come impostarlo in
maniera corretta, tipo in qualche impostazione, ho gia provato a variare il
formato da pannello di controllo, ma senza alcun risultato, non varia
nemmeno l'ordine di gg mm aaaa.
Ne deduco che da qualche parte, in qualche libreria, in qualche opzione c'è
scritto quella codifica sballata.. ma dove?? come posso cambiarla?
Grazie a tutti!


 risultato, non varia nemmeno l'ordine di gg mm aaaa.
nel web.config, tag system.web, globalization.
http://www.aspitalia.com/articoli/aspplus/webconfig.aspx
