Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: anmaroso en 14 de Octubre 2015, 10:37

Título: Visual Basic dar Formato de fecha Date, Format, ISO, transferencias SEPA
Publicado por: anmaroso en 14 de Octubre 2015, 10:37
Buenos días.

¿Es posible formatear la fecha de forma que el valor sea 2015-14-10T10:34:23.

(date1.ToString("s")) así no me funciona.

Gracias y saludos.
Título: Re:Qué especificador de formato es para 2015-14-10T10:34:23
Publicado por: Alex Rodríguez en 16 de Octubre 2015, 11:39
Hola anmaroso ¿en qué lenguaje estás trabajando? En la cadena 2015-14-10T10:34:23 supongo que tenemos año-mes-díaThora:minuto:segundo ¿Qué significa la T intermedia?
Título: Re:Qué especificador de formato es para 2015-14-10T10:34:23
Publicado por: anmaroso en 16 de Octubre 2015, 12:04
Hola, Alex, buenos días.

Estoy con Visual Basic NET.

Es formato es requerido para hacer transferencias SEPA,es ISO dateTime o algo asi.

Gracias y saudos
Título: Re:Formato de fecha transferencias SEPA 2015-14-10T10:34:23
Publicado por: Alex Rodríguez en 19 de Octubre 2015, 08:16
En este fichero http://aeb.respuestaprofesional.com/files/34-14_transferencias_txt_.pdf veo que indican que las fechas deben ir en formato AAAAMMDD pero no veo nada relativo a una T intermedia. Otra cosa que habría que averiguar es si el formato debe ser numérico o alfanumérico, es decir, si se deben incluir esos datos como si se tratara de un número o de un texto. Según la página 13 del fichero serían numéricos, en ese caso no podrían llevar una T, pero realmente habría que saber cuál es la normativa o especificación vigente. Saludos.
Título: Re:Formato de fecha transferencias SEPA 2015-14-10T10:34:23
Publicado por: anmaroso en 19 de Octubre 2015, 17:01
Hola, Alex, buenas tardes.

En el enlace que me pones es para efectuar las transferencias en formato txt, pero a partir de febrero del 2016 han de efectuarse todas con formato XML y en las instrucciones para este formato indica lo siguiente:


1.2 Fecha y hora de creación - CreationDateTime
Definición: Fecha y hora cuando la parte iniciadora ha creado un (grupo de) instrucciones de pago.
Etiqueta XML: <CreDtTm>
Ocurrencias: [1..1]

Formato: ISODateTime YYYY-MM-DDThh:mm:ss (Año-mes-día)

Ejemplo: 10 de junio de 2010, a las 08:35 horas y 30 segundos.
<CreDtTm>2010-06-10T08:35:30</CreDtTm>


Entonces yo suponía que ese formato se podía conseguir aplicando un Format puesto que en  MSDN en los formatos de fecha viene ese formato con la T. Lo cierto es que llevo indagando ya días y no veo nada al respecto.

Pensaba preguntar el cómo iniciarse un fichero XML, ya tengo en un XML todas las etiquetas esquematizadas para hacer el SEPA de transferencias antes de que empiece la obligación de presentarlas con ese formato. Lo que no entiendo es como dar valor a las etiquetas que lo requieren. He leído que por WRITER, otros que con un diseñador que tiene el VB NET.... en fin que no sé ni cómo empezar.

Muchas gracias por tu interés y saludos.
Título: Re:Visual Basic dar Formato de fecha Date, Format, ISO, transferencias SEPA
Publicado por: Alex Rodríguez en 22 de Octubre 2015, 10:26
Hola, he estado haciendo alguna prueba y te paso el código que he probado a ver si te sirve:

Código: [Seleccionar]
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim fechaHora As Date = #10/14/2015 10:34:23 AM#
        Dim fechaStr As String = Format(fechaHora, "yyyy") & "-" & Format(fechaHora, "dd") & "-" & Format(fechaHora, "MM") & "T" & Format(fechaHora, "hh:mm:ss")
        MsgBox("Inicialmente: " & fechaHora & vbCrLf & "Formateado: " & fechaStr)

    End Sub
End Class

Para mantener el orden en los foros, reservamos cada hilo para un tema (en este caso este hilo para el asunto de las fechas y cómo convertirlas de formato). Para otras cosas, abrir un nuevo tema (como digo es con vistas a mantener un orden).

Saludos
Título: Re:Visual Basic dar Formato de fecha Date, Format, ISO, transferencias SEPA
Publicado por: anmaroso en 23 de Octubre 2015, 12:04
Hola, Alex.

Buenos días.

Gracias por contestar y estando de acuerdo a lo que comentas para el buen funcionamiento del foro iniciaré otro post con el tema del XML.

En cuanto al tema principal, me ha funcionado de una forma más resumida de la siguiente forma:

 Dim fecha As DateTime = Now()
        Dim strf As String

        strf = Format(fecha, "yyy-MM-ddTHH:mm:ss")
        MsgBox(strf)