Pregunta

Tengo una cadena que representa un valor DataTime, y quiero entrenamiento lo formato de cadena se utilizó para crear la cadena.

Por ejemplo
- Teniendo en cuenta "Miércoles, 27 Ene 2010" espero "dddd dd MMM aaaa"
- Teniendo en cuenta "2010 01 27" espero "aaaa MM DD"

Supongamos que la fecha está cerca de DateTime.Now y se refiere al CurrentCulture. Así que dado que tenemos es-ES cultura
- Teniendo en cuenta "01 01 2010" espero "DD MM AAAA"

¿Hay una manera simple de hacer esto?

¿Fue útil?

Solución

se podría dividir en espacios en blanco para obtener una matriz de cadenas entonces se podría poner a prueba los elementos de la matriz con los valores conocidos para tratar de adivinar el formato

por ejemplo. si busca "Miércoles" si lo encuentra asuma "dddd"

Si un número de cuatro dígitos asume aaaa

días y meses podría ser un problema, se puede probar durante> 12 para los días, pero eso es bastante malo

Tal vez usted podría inferir el formato utiliza la división de espacio en blanco a continuación, DateTime.Parse en el orignal y la prueba contra una versión formateada (utilizando el formato infered) de la fecha analizada por la igualdad

Otros consejos

Lo más sencillo que hacer es mirar en la referencia para fecha y hora de formatear cadenas y las hace ejercicio.

Es posible que pueda utilizar la reflexión con el fin de conseguir esto, o utilizar desensamblador (como ILDASM ) para encontrar todas las cadenas utilizadas en una asamblea y adivinar cuáles son fecha y hora formato de cadenas.

Si disassmbling, puede buscar los días de la semana y para una cadena que comienza con dddd, que debe decirle cómo se construyó el original.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top