PDA

View Full Version : [VB.NET] Formattazione dell' ora


0rph3n
04-05-2006, 10:37
Ciao a tutti,
per formattare stringhe in vb.net uso il metodo Format.
Però se lo uso nel seguente modo:
Format(miaClasse.OraImmissione, "hh:mm:ss")
perchè mi serve solo l'ora (OraImmissione è un campo di tipo Date che quindi contiene informazioni riguardanti sia la data che l'ora), mi restituisce una stringa che è come voglio io, ma con punti fermi (".") al posto dei due punti (":") che ho specificato nello stile!
Mentre se lo uso nel seguente modo:
Format(miaClasse.DataImmissione, "yyyy-MM-dd")
perchè mi serve solo la data (DataImmissione è sempre del tipo Date) funziona alla perfezione!

Ho pensato che Format possa essere influenzato dal fatto che nelle opzioni internazionali il separatore per l'ora è il punto, ma se così fosse non dovrebbe essere lo stesso anche per la data, visto che sempre nelle impostazioni internazionali il separatore per la data è "/" e non "-"?
Sapete dirmi perchè?
Magari darmi anche una soluzione?
Se il problema è proprio il metodo format, poco male, mi farò un metodo che mi formatta la stringa come voglio io (tanto ci vogliono 5 secondi), ma vorrei sapere perchè sto benedetto Format fa quello che vuole lui e quando vuole lui!

'iao

mynos79
04-05-2006, 11:17
Il tuo codice è corretto ... il problema sono le impostazioni del sistema (anche a me fa così, sia con la versione inglese che italiana del visual studio); senza dover cambiare in windows, mi sono fatto una piccola funzione che sostituisce il punto coi due punti ...

0rph3n
04-05-2006, 11:31
ecchellallà!
e che palle però, vabbè che ci si mette 5 secondi a fare un metodo del genere, però che cazzo serve specificargli lo stile a sto punto?!
grazie mille mynos

Locurtola
04-05-2006, 14:30
ecchellallà!
e che palle però, vabbè che ci si mette 5 secondi a fare un metodo del genere, però che cazzo serve specificargli lo stile a sto punto?!
grazie mille mynos

Utilizza uno \ davanti ai due punti, cosi facendo "passi sopra" alle impostazioni della macchina... :)

Nello specifico:


Format(miaClasse.OraImmissione, "hh\:mm\:ss")

0rph3n
04-05-2006, 15:55
Grazie mille :D
(però ora mi tocca anche cancellare il metodo che mi ero fatto io...che palle, non potevi rispondere prima :Prrr: :sofico: )

'iao