Power Builder - validar formato de fecha en una variable string

   
Vista:
Imágen de perfil de antonio

validar formato de fecha en una variable string

Publicado por antonio (1114 intervenciones) el 17/08/2012 21:21:03
Hola a todos

Gracias anticipadamente por sus comentarios.

Necesito de su gran ayuda,

Cuando queremos dar formato a una fecha y depositarla en una variable hacemos lo siguiente:

Datetime ldt_fecha
string ls_fecha

ldt_fecha = DateTime(Today(),Now()

ls_fecha = String ( ldt_fecha,'yyy-mm-ddThh:mm:ss')

y el resultado seria asi:

2012-08-16T13:32:22

ahora bien, ¿como puedo saber que formato tiene ese string para validarlo y saber que si cumple con los requisitos del formato... por ejemplo:

ls variable contiene este texto: ls_fecha = '2012-08-16T13:32:22'

¿como saber que el formato es yyyy-mm-ddThh:mm:ss?

Nuevamente mil gracias por su apoyo y comentarios
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

validar formato de fecha en una variable string

Publicado por JeinnerH jeinnerhidalgo@hotmail.com (14 intervenciones) el 20/08/2012 23:55:33
Hola Antonio, no entiendo muy bien la consulta, porque si ya estás convirtiendo una fecha con un formato específico, obviamente el resultado va a ser el formato que solicitaste, así que no comprendo por qué quieres validarla.

Pero si lo que quieres es cargar un formato X de un archivo de texto y validar que dicho formato contenga una fecha válida, me parece que debieras saber cuál es el formato que vas a cargar con antelación.

Una vez cargada la fecha, se puede validar si es válida haciendo una conversión a fecha:
ls_String='30/02/2012'

lldt_Fecha=Date(ls_String)
If ldt_Fecha = Date(01, 01, 1900) Then &
Messagebox('ERROR', 'Fecha no es válida')

Espero que te sirva esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de antonio

validar formato de fecha en una variable string

Publicado por antonio (1114 intervenciones) el 22/08/2012 20:58:03
Hola JeinnerH :

Mil gracias por tu aporte, te explicare a mas detalle.

Mira, resulta que no cargo ninguna fecha, es decir, en México, la facturación electrónica genera un archivo XML, exe XML tiene un nodo (campo) llamado "fecha", el valor de ese nodo contiene un string de tipo fecha con formato yyyy-mm-ddThh:mm:ss (como puedes ver lleva la "T" mayúscula), pues bien, no es que carge una fecha, se esta cargando un string, por ejemplo 2012-08-21T13:12:33

La idea es validar que ese formato sea real y de acuerdo a las especificaciones de ley.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validar formato de fecha en una variable string

Publicado por JeinnerH jhidalgo@excelteccr.com (638 intervenciones) el 23/08/2012 05:26:09
En ese caso y ya que puedes leer la información sería cuestión de tomar los primeros 10 caracteres y convertirlos a fecha.

Date(Mid(ls_Fecha, 9, 2), Mid(ls_Fecha, 6, 2), Mid(ls_Fecha, 1, 4))

Y la validas tal y como te indiqué primero.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validar formato de fecha en una variable string

Publicado por Fcruz (1 intervención) el 08/11/2012 01:11:26
Hola amigo vi este post porque recientemente ando buscando info sobre esto y te paso lo que encontre, lo pruebo y te confirmo. Lo encontre en C# pero lo pongo en VB.NET

Para convertir Fecha a String
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub TimeFormats()
 
	Dim localTime As DateTime = DateTime.Now
	Dim utcTime As DateTime = DateTime.UtcNow
	Dim localTimeAndOffset As New DateTimeOffset(localTime, TimeZoneInfo.Local.GetUtcOffset(localTime))
 
	'utc
	Dim strUtcTime_o As String = utcTime.ToString("o")
	Dim strUtcTime_s As String = utcTime.ToString("s")
	Dim strUtcTime_custom As String = utcTime.ToString("yyyy-MM-ddTHH:mm:ssK")

	'local
	Dim strLocalTimeAndOffset_o As String = localTimeAndOffset.ToString("o")
	Dim strLocalTimeAndOffset_s As String = localTimeAndOffset.ToString("s")
	Dim strLocalTimeAndOffset_custom As String = utcTime.ToString("yyyy-MM-ddTHH:mm:ssK")
 
	'output
	Response.Write("<br/>UTC<br/>")
	Response.Write("strUtcTime_o: " & strUtcTime_o & "<br/>")
	Response.Write("strUtcTime_s: " & strUtcTime_s & "<br/>")
	Response.Write("strUtcTime_custom: " & strUtcTime_custom & "<br/>")

	Response.Write("<br/>Local Time<br/>")
	Response.Write("strLocalTimeAndOffset_o: " & strLocalTimeAndOffset_o & "<br/>")
	Response.Write("strLocalTimeAndOffset_s: " & strLocalTimeAndOffset_s & "<br/>")
	Response.Write("strLocalTimeAndOffset_custom: " & strLocalTimeAndOffset_custom & "<br/>")

End Sub


OUTPUT

UTC
    strUtcTime_o: 2012-09-17T22:02:51.4021600Z
    strUtcTime_s: 2012-09-17T22:02:51
    strUtcTime_custom: 2012-09-17T22:02:51Z

Local Time
    strLocalTimeAndOffset_o: 2012-09-17T15:02:51.4021600-07:00
    strLocalTimeAndOffset_s: 2012-09-17T15:02:51
    strLocalTimeAndOffset_custom: 2012-09-17T22:02:51Z
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar