formato fecha para un campo numerico

06/11/2006 - 11:16 por Tomeu | Informe spam
Buenos dias.
Tengo un problema con el formato de fechas y horas debido a que me veo
obligado a trabajar con una tabla que tiene los campos fecha y hora
establecidos como numéricos (fecha:numérico long 8 digitos, hora: númerico
long 4 dígitos)

El codigo de abajo me devuelve la cadena dd-mm-yyyy y ##:## y no el valor
del campo con el formato especificado.

Format(myDataTable.Rows(0)("RSFECH").ToString, "dd-mm-yyyy")
Format(myDataTable.Rows(0)("RSHORA").ToString, "##:##")

Teneis idea de como podría solucionar el problema.

Gracias

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
06/11/2006 - 12:37 | Informe spam
Hola Tomeu

Puedes probar en primer lugar, a transformar el valor del campo del
DataTable a un tipo Date, y después, mediante su método ToString(), formatear
la fecha. Algo similar a lo siguiente:

'///////////////////////////////////
Dim fecha As Date = New Date(myDataTable.Rows(0)("RSFECH"))
MessageBox.Show(fecha.ToString("dd-MM-yyyy"))
'///////////////////////////////////

Espero que te sea de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Tomeu" wrote:

Buenos dias.
Tengo un problema con el formato de fechas y horas debido a que me veo
obligado a trabajar con una tabla que tiene los campos fecha y hora
establecidos como numéricos (fecha:numérico long 8 digitos, hora: númerico
long 4 dígitos)

El codigo de abajo me devuelve la cadena dd-mm-yyyy y ##:## y no el valor
del campo con el formato especificado.

Format(myDataTable.Rows(0)("RSFECH").ToString, "dd-mm-yyyy")
Format(myDataTable.Rows(0)("RSHORA").ToString, "##:##")

Teneis idea de como podría solucionar el problema.

Gracias
Respuesta Responder a este mensaje
#2 Tomeu
06/11/2006 - 15:55 | Informe spam
Gracias, aunque sigo con el mismo problema ahora el valor devuelto por la
variable es 01-01-0001.

Si teneis alguna otra idea me será de gran ayuda

"Luis Miguel Blanco" wrote:

Hola Tomeu

Puedes probar en primer lugar, a transformar el valor del campo del
DataTable a un tipo Date, y después, mediante su método ToString(), formatear
la fecha. Algo similar a lo siguiente:

'///////////////////////////////////
Dim fecha As Date = New Date(myDataTable.Rows(0)("RSFECH"))
MessageBox.Show(fecha.ToString("dd-MM-yyyy"))
'///////////////////////////////////

Espero que te sea de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Tomeu" wrote:

> Buenos dias.
> Tengo un problema con el formato de fechas y horas debido a que me veo
> obligado a trabajar con una tabla que tiene los campos fecha y hora
> establecidos como numéricos (fecha:numérico long 8 digitos, hora: númerico
> long 4 dígitos)
>
> El codigo de abajo me devuelve la cadena dd-mm-yyyy y ##:## y no el valor
> del campo con el formato especificado.
>
> Format(myDataTable.Rows(0)("RSFECH").ToString, "dd-mm-yyyy")
> Format(myDataTable.Rows(0)("RSHORA").ToString, "##:##")
>
> Teneis idea de como podría solucionar el problema.
>
> Gracias
Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
06/11/2006 - 17:34 | Informe spam
Si tienes un valor de ejemplo de los que obtienes de la base de datos para
hacer pruebas, sería de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Tomeu" wrote:

Gracias, aunque sigo con el mismo problema ahora el valor devuelto por la
variable es 01-01-0001.

Si teneis alguna otra idea me será de gran ayuda

"Luis Miguel Blanco" wrote:

> Hola Tomeu
>
> Puedes probar en primer lugar, a transformar el valor del campo del
> DataTable a un tipo Date, y después, mediante su método ToString(), formatear
> la fecha. Algo similar a lo siguiente:
>
> '///////////////////////////////////
> Dim fecha As Date = New Date(myDataTable.Rows(0)("RSFECH"))
> MessageBox.Show(fecha.ToString("dd-MM-yyyy"))
> '///////////////////////////////////
>
> Espero que te sea de ayuda.
>
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Tomeu" wrote:
>
> > Buenos dias.
> > Tengo un problema con el formato de fechas y horas debido a que me veo
> > obligado a trabajar con una tabla que tiene los campos fecha y hora
> > establecidos como numéricos (fecha:numérico long 8 digitos, hora: númerico
> > long 4 dígitos)
> >
> > El codigo de abajo me devuelve la cadena dd-mm-yyyy y ##:## y no el valor
> > del campo con el formato especificado.
> >
> > Format(myDataTable.Rows(0)("RSFECH").ToString, "dd-mm-yyyy")
> > Format(myDataTable.Rows(0)("RSHORA").ToString, "##:##")
> >
> > Teneis idea de como podría solucionar el problema.
> >
> > Gracias
Respuesta Responder a este mensaje
#4 Tomeu
07/11/2006 - 12:28 | Informe spam
Un valor de fecha seria 20061101 y un valor de hora 1000.

Gracias por tu interés, estoy bastante parado debido ha este tema y no se
como solucionarlo.


"Luis Miguel Blanco" wrote:

Si tienes un valor de ejemplo de los que obtienes de la base de datos para
hacer pruebas, sería de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Tomeu" wrote:

> Gracias, aunque sigo con el mismo problema ahora el valor devuelto por la
> variable es 01-01-0001.
>
> Si teneis alguna otra idea me será de gran ayuda
>
> "Luis Miguel Blanco" wrote:
>
> > Hola Tomeu
> >
> > Puedes probar en primer lugar, a transformar el valor del campo del
> > DataTable a un tipo Date, y después, mediante su método ToString(), formatear
> > la fecha. Algo similar a lo siguiente:
> >
> > '///////////////////////////////////
> > Dim fecha As Date = New Date(myDataTable.Rows(0)("RSFECH"))
> > MessageBox.Show(fecha.ToString("dd-MM-yyyy"))
> > '///////////////////////////////////
> >
> > Espero que te sea de ayuda.
> >
> > Un saludo
> > Luis Miguel Blanco
> > http://www.dotnetmania.com
> >
> >
> > "Tomeu" wrote:
> >
> > > Buenos dias.
> > > Tengo un problema con el formato de fechas y horas debido a que me veo
> > > obligado a trabajar con una tabla que tiene los campos fecha y hora
> > > establecidos como numéricos (fecha:numérico long 8 digitos, hora: númerico
> > > long 4 dígitos)
> > >
> > > El codigo de abajo me devuelve la cadena dd-mm-yyyy y ##:## y no el valor
> > > del campo con el formato especificado.
> > >
> > > Format(myDataTable.Rows(0)("RSFECH").ToString, "dd-mm-yyyy")
> > > Format(myDataTable.Rows(0)("RSHORA").ToString, "##:##")
> > >
> > > Teneis idea de como podría solucionar el problema.
> > >
> > > Gracias
Respuesta Responder a este mensaje
#5 Luis Miguel Blanco
07/11/2006 - 13:54 | Informe spam
Hola Tomeu

Gracias por enviarme un ejemplo 8-)

Lo que puedes hacer es pasar el valor que obtienes del dataset a una cadena,
la cual descompones en las diferentes partes de la fecha. Luego creas un
objeto Date utilizando el constructor que te permite pasarle las partes
separadas de la fecha. Por último utilizas el objeto fecha para formatearlo
mediante el método ToString(). Te acompaño un ejemplo.

'/////////////////////////////////
Dim sNumeroFecha As String = myDataTable.Rows(0)("RSFECH").ToString()
Dim nAnualidad As Integer = Integer.Parse(sNumeroFecha.Substring(0, 4))
Dim nMes As Integer = Integer.Parse(sNumeroFecha.Substring(4, 2))
Dim nDia As Integer = Integer.Parse(sNumeroFecha.Substring(6, 2))

Dim fecha As Date = New Date(nAnualidad, nMes, nDia)
MessageBox.Show(fecha.ToString("dd-MM-yyyy"))
'/////////////////////////////////

Espero que de esta forma te sirva.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Tomeu" wrote:

Un valor de fecha seria 20061101 y un valor de hora 1000.

Gracias por tu interés, estoy bastante parado debido ha este tema y no se
como solucionarlo.


"Luis Miguel Blanco" wrote:

> Si tienes un valor de ejemplo de los que obtienes de la base de datos para
> hacer pruebas, sería de ayuda.
>
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "Tomeu" wrote:
>
> > Gracias, aunque sigo con el mismo problema ahora el valor devuelto por la
> > variable es 01-01-0001.
> >
> > Si teneis alguna otra idea me será de gran ayuda
> >
> > "Luis Miguel Blanco" wrote:
> >
> > > Hola Tomeu
> > >
> > > Puedes probar en primer lugar, a transformar el valor del campo del
> > > DataTable a un tipo Date, y después, mediante su método ToString(), formatear
> > > la fecha. Algo similar a lo siguiente:
> > >
> > > '///////////////////////////////////
> > > Dim fecha As Date = New Date(myDataTable.Rows(0)("RSFECH"))
> > > MessageBox.Show(fecha.ToString("dd-MM-yyyy"))
> > > '///////////////////////////////////
> > >
> > > Espero que te sea de ayuda.
> > >
> > > Un saludo
> > > Luis Miguel Blanco
> > > http://www.dotnetmania.com
> > >
> > >
> > > "Tomeu" wrote:
> > >
> > > > Buenos dias.
> > > > Tengo un problema con el formato de fechas y horas debido a que me veo
> > > > obligado a trabajar con una tabla que tiene los campos fecha y hora
> > > > establecidos como numéricos (fecha:numérico long 8 digitos, hora: númerico
> > > > long 4 dígitos)
> > > >
> > > > El codigo de abajo me devuelve la cadena dd-mm-yyyy y ##:## y no el valor
> > > > del campo con el formato especificado.
> > > >
> > > > Format(myDataTable.Rows(0)("RSFECH").ToString, "dd-mm-yyyy")
> > > > Format(myDataTable.Rows(0)("RSHORA").ToString, "##:##")
> > > >
> > > > Teneis idea de como podría solucionar el problema.
> > > >
> > > > Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida