Si acaso, yo tengo estas dos funciones:
Public Shared Function DateToString(ByVal pDate as Date, ByVal pFormat as
String) as String
Return pDate.ToString(pFormat)
End Function
Public Shared Function StringToDate(ByVal pString As String, ByVal pFormat
As String) As Date
Dim formatInfo As New System.Globalization.DateTimeFormatInfo
formatInfo.ShortDatePattern = pFormat
Return System.Convert.ToDateTime(pString, formatInfo)
End Function
Uso:
Dim sNow as String = DateToString(Today, "dd-MM-yyyy HH:mm")
Dim dNow as Date = StringToDate(sNow, "dd-MM-yyyy HH:mm")
Pata.
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Alan
Lavintman
Enviado el: miércoles, 16 de mayo de 2007 22:37
Para: [email protected]
Asunto: [puntonet] GetXml y DateTime
Claro, porque el debug lo que hace es un ToString del objeto DateTime, que
no es lo mismo que la serializacion del objeto DateTime.
En casos como estos intenta enviar Objetos tipados de lado a lado y deja que
.net se encargue de la serializacion. Los tipos de datos que reciben los web
service no los podes cambiar a DateTime?
De todas maneras en todos los casos (enviando DateTime o un string) vas a
tener problemas de conversion por la configuracion regional de cada sistema
(cliente y servidor). No es tan trivial como parece. Intenta leer algunos
post por ejemplo:
http://www.thescripts.com/forum/thread427562.html
A veces es complicado cuando los web services no dependen de uno y los
sistemas agenos al tuyo, ya estan corriendo en su mundo aparte. Tu problema
en estos casos es la suma de todas las interoperabilidades juntas.
Saludos.
Marcelo Cornejo <[EMAIL PROTECTED]> wrote:
Hola Alan
Si voy corriendo el debug cuando miro al dataset veo 2006-04-18
10:29:15 a.m.
Después del GetXml veo 2006-04-18T10:29:15.47-03:00
Este xml lo envio a otro sp donde lo abro con OpenXml y al
indicarle en la clausula With (fechapedido datetime) falla la conversión
En realidad el dataset lo recibo de un webservice y debo
enviarlo como xml a otro webservice, aca no hay capa de presentacion.
Como me dice Maxi en otro mail podria en el primer webservice
pasar ese campo en el formato ansi YYYYMMDD HH:mm:ss y ahí creo que no
tendria problemas en la conversión, pero queria saber si habia alguna forma
de evitar este paso y recibirlo en el dataset como datetime puro y que el
getxml me diera automáticamente el formato ansi cuando lo serializa a
string.
Otra alternativa seria que el primer webservice me envie ya el
xml agregandole al select del sp for xml
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Alan
Lavintman
Sent: martes, 15 de mayo de 2007 05:59 p.m.
To: [email protected]
Subject: [puntonet] GetXml y DateTime
Marcelo como podras observar, el string que esta dentro del campo
fechapedido tiene el siguiente formato: 2006-04-18T10:29:15.47-03:00
Ese formato es un DataTime serializado (por supuesto a string)
para poder transmitirlo. Por supuesto no tiene solo la hora, como veras
hasta tiene el tipo de GTM -3. Por lo tanto. Te recomiendo
que uses la columna del dataset fechapedido como tipo DateTime
y uses en tu capa de presentacion el tipo de dato DateTime
No trates de convertirlo a string ni nada por el estilo.
Trabaja DateTime desde el motor de base hasta la presentacion.
El driver de acceso a datos (ado.net) se va a encargar de hacer cualquier
conversion
Saludos y suertes.
Marcelo Cornejo <[EMAIL PROTECTED]> wrote:
Hola Maxi
El tema es que ese xml lo paso a otro sp y alli lo abro con openxml
indicando que el campo fecha es datetime y ahí me falla la conversión
Tengo forma de sacarle la t y el meridiano en ese punto?
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Maxi
Accotto
Sent: martes, 15 de mayo de 2007 04:31 p.m.
To: [email protected]
Subject: [puntonet] GetXml y DateTime
Hola, el String lo deberias convertir nuevamente para SQL a formato
ANSI pero sin el meridiano y el T
o sea
YYYYMMDD HH:mm:ss
El 15/05/07, Marcelo Cornejo escribió:
>
>
>
> Hola
>
>
>
> Tengo un sp en sql2005 que devuelve un select
>
> Ejemplo: select nropedido, fechapedido
>
> Lo recibo como un dataset en un metodo en c#
>
> Si miro el dataset la fecha se ve normal pero cuando lo paso a xml con
> getxml me muestra la fecha del siguiente modo:
2006-04-18T10:29:15.47-03:00
>
> y si tomo ese string para volver a pasarlo a datetime me da error de
> conversión por el -03:00
>
> Que me faltaria hacer para que no me genere el -03:00 al pasarlo a xml?
>
>
>
> Espero que se entienda
>
>
>
> Gracias
>
>
>
>
>
> --------------------------------------
>
> Marcelo Cornejo
>
> Responsable de Sistemas
>
> Drogueria Rosfar S.A.
>
>
>
>
>
--
-----------------------------------------------------------
Microsoft MVP en SQL Server
Mentor asociado en SQLTotalConsulting
(excelencia en servicios y consultoria SQLServer)
Orador Culminis - Microsoft Influencier
www.sqltotalconsulting.com
-----------------------------------------------------------
_____
Be a PS3 game guru.
Get your game face on with the latest
<http://us.rd.yahoo.com/evt=49936/*http:/videogames.yahoo.com> PS3 news and
previews at Yahoo! Games.
_____
Luggage? GPS? Comic books?
Check out fitting gifts
<http://us.rd.yahoo.com/evt=48249/*http://search.yahoo.com/search?fr=oni_on_
mail&p=graduation+gifts&cs=bz> for grads at Yahoo! Search.