hilpers


  hilpers > microsoft.* > microsoft.csharp > 01/2005

 #1  
25-01-2005, 18:45
Raul M. Colon
Hola. Soy un programador que esta migrando de VB a C#. Alguien sabe si hay
alguna funcion en C# que sustituya la funcion IsDate que valida el formato de
las fechas en VB?

Gracias por su cooperacion.

Raul
 #2  
25-01-2005, 19:01
Bela Istok
DateTime.Parse() te puede funcionar.
 #3  
25-01-2005, 19:06
msnews.microsoft.com
DateTime.Parse().
Javier
"Raul M. Colon" <RaulMColon> wrote in message
news:5d06
[..]
 #4  
25-01-2005, 19:39
Raul M. Colon
Tengo una duda: IsDate(string) devuelve True si el string puede convertirse
en una fecha valida y False si no es una fecha valida...Como puede
DateTime.Parse usarse de esa forma?

Raul

"Raul M. Colon" wrote:
[..]
 #5  
25-01-2005, 19:51
msnews.microsoft.com
Podes usar una funcion de este tipo :
public static bool IsDate(object _value)

{

try

{

Convert.ToDateTime(_value);

return true;

}

catch

{

return false;

}

}



"Raul M. Colon" <RaulMColon> wrote in message
news:e2af
[..]
 #6  
25-01-2005, 20:11
william
Pienso que aunque los comentarios que te han indicado podrian serte de
utilidad, no son

No creo que sea la solucion optima a este planteamiento, debido a que
dependeras de un error para conocer si puedes o no realizar el parseo
adecuado, sin hablar de tiempo que tarda la captura de errores.

Recomendaría como solución a esto, utilizar expresiones regulares para
realizar la comprobación del formato de la data. Yo lo haría de forma
sencilla asi:

regStr = new Regex(@"\d{2}/\d{2}/\d{4}");
if(!regStr.IsMatch(sd.Text))
errorProvider1.SetError(this, "*");

Aunque habria que comprobar los valores para DD y MM que no excedan con una
fecha válida.

Si estas interesado en profundizar el tema revisa:
http://www.regexlib.com/REDetails.aspx?regexp_id=151
Donde encontraras ejemplos de expresiones regulares muy usadas
frecuentemenete.

Saludos



"Raul M. Colon" wrote:
[..]
 #7  
25-01-2005, 21:03
Jose Luis Manners
Simplemente añade el espacio de nombre Microsoft.VisualBasic a tu programa.
Este espacio de nombre contiene las clases y módulos que forman la
biblioteca de ejecución de VB (Microsoft.VisualBasic.dll). Esta biblioteca
provee la rutina
IsDate.
 #8  
25-01-2005, 22:43
Pedro Luna Montalvo, MVP
Saludos,

> Simplemente añade el espacio de nombre Microsoft.VisualBasic a tu

programa.
> Este espacio de nombre contiene las clases y módulos que forman la
> biblioteca de ejecución de VB (Microsoft.VisualBasic.dll). Esta

biblioteca
> provee la rutina
> IsDate.


Esta alternativa es valida, pero recordemos que las librerias de
compatibilidad de VB proveen funciones con los mismos nombres y sintaxis
similar a las utilizadas en VB6, pero que internamente realizan llamadas a
las propias funciones del Framework.

Asi que, no deberia sorprender a nadie que en realidad IsDate() sea algo
similar a esto:

public static bool IsDate(string expression) {
if (expression == null) { return false; }

try {
DateTime dateTime = DateTime.Parse(expression);
}
catch (FormatException) {
return false;
}

return true;
}

Asi que yo optaria por incorporar este pequeño metodo en lugar de agregar
una referencia.
 #9  
26-01-2005, 03:10
Jose Luis Manners
Buen punto. Solo quería mostrar un manera fácil y sencilla de conseguir la
funcionalidad de IsDate. Creo que habría que añadir el catch de
ArgumentNullException para que el código quede listo.
 #10  
26-01-2005, 04:16
Pedro Luna Montalvo, MVP
> Buen punto. Solo quería mostrar un manera fácil y sencilla de conseguir
> la
> funcionalidad de IsDate. Creo que habría que añadir el catch de
> ArgumentNullException para que el código quede listo.


Con la primera linea del codigo:
if (expression == null) { return false; }

me curo del ArgumentNullException ;)




"Jose Luis Manners" <josemanners(-arroba-)hotmail.com> escribió en el
mensaje news:2012
[..]
 #11  
26-01-2005, 14:41
Jose Luis Manners
claro que sí hermano, ni siquiera me fijé en esa linea.
Temas Similares
IsDate Function

Saludos amigos, estoy comenzando en la programacion c# y me encuentro con que no existe la funcion isdate, el caso es que he encontrado algunos codigos en internet...

Isnumeric e Isdate

Disculpen si esta pregunta es muy elemental. Pero no se como utilizar en un Case de un procedimiento almacenado las funciones Isnumeric() Isdata() Me sale error si tengo case...

Funcion para convertir una cadena en formato HTTP para POST

Hola gente, Estoy buscando una funcion que convierta una cadena para postearla en un server HTTP. Por ejemplo, al hacer POST en un server, los espacios " " se convierten en...

IsNumeric, IsDate....

Existen en c# funciones que me indiquen si una cadena es una fecha, un número, un dígito... vamos, las equivalentes a InNumeric, IsDate, IsDigit... de visual...

¿Existe alguna función similar a IsDate de VBasic?

Se trata de verificar si una fecha introducida en un TextBox es correcta. Con VBasic usaba IsDate, pero con C# no tengo ni idea. Conoceis alguna página de ayuda para los que...


La franja horaria es GMT. Ahora son las 07:59. | Privacy Policy