¿Cómo podría convertir una cadena como "El lunes 25 de marzo de 2010 ..." al 25/03/10? Además, ¿es esto posible?Convertir cadena a la fecha - C#
Respuesta
Puede usar DateTime.ParseExact
, pero creo que tiene que pelar "Encendido" antes de intentar analizarlo.
EDIT De acuerdo con format documentation es probable que no tenga que pelar "Encendido" después de todo.
var theDate = DateTime.ParseExact(theString, "On dddd ddth MMMM yyy",
CultureInfo.InvariantCulture);
Debería hacerlo.
Como señala klausbyskov, DateTime.ParseExact
es el camino a seguir. Creo que la cadena de formato correcto que necesita es (prueba):
@"On dddd dd\t\h MMMM yyyy..."
La 't' y los personajes 'H' necesito ser escapado ya que llevan un significado especial ('AM/PM' y 'horas', respectivamente)
Sin embargo, tenga en cuenta que el analizador realizará algunas verificaciones de validación. En particular, su ejemplo no podrá analizar desde que el 25 de marzo de 2010 resultó ser un jueves; intentarlo con:
"On Thursday 25th March 2010..."
En cuanto a la la salida, la cadena de formato que necesita es:
"dd/MM/yy"
No se puede hacer esto con la fecha de análisis solo. Cualquier cadena de formato que funcione para el día 25 va a fallar para el día 22 o el 23. Personalmente, utilizaría una expresión regular para desvincular la fecha en algo que pueda analizarse.
string s = "On Monday 25th March 2010";
string pattern = @"^[^0-9]+(\d+)(\w\w)?";
string clean = Regex.Replace(s, pattern,@"$1");
string result = DateTime.ParseExact(clean,"dd MMMM yyyy",
CultureInfo.InvariantCulture)
.ToString("dd/MM/yy");
uso esto:
using System; using System.Collections.Generic; using
System.ComponentModel; using System.Data; using System.Drawing; using
System.Text; using System.Windows.Forms;
namespace DateTimeConvert {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text= ConvDate_as_str(textBox1.Text);
}
public string ConvDate_as_str(string dateFormat)
{
try
{
char[] ch = dateFormat.ToCharArray();
string[] sps = dateFormat.Split(' ');
string[] spd = sps[0].Split('.');
dateFormat = spd[0] + ":" + spd[1]+" "+sps[1];
DateTime dt = new DateTime();
dt = Convert.ToDateTime(dateFormat);
return dt.Hour.ToString("00") + dt.Minute.ToString("00");
}
catch (Exception ex)
{
return "Enter Correct Format like <5.12 pm>";
}
}
private void button2_Click(object sender, EventArgs e)
{
label2.Text = ConvDate_as_date(textBox2.Text);
}
public string ConvDate_as_date(string stringFormat)
{
try
{
string hour = stringFormat.Substring(0, 2);
string min = stringFormat.Substring(2, 2);
DateTime dt = new DateTime();
dt = Convert.ToDateTime(hour+":"+min);
return String.Format("{0:t}", dt); ;
}
catch (Exception ex)
{
return "Please Enter Correct format like <0559>";
}
}
}
}
¿Por qué el OP debería usar esto? ¡Por favor explique! – markus
- 1. Convertir cadena a fecha y hora C#
- 2. jquery/javascript convertir fecha cadena a fecha
- 3. convertir cadena a la fecha en GWT
- 4. C++: convertir cadena de fecha/hora a tm struct
- 5. Convertir cadena a fecha y hora en C# .net
- 6. Convertir cadena a fecha y hora usando C#
- 7. Convertir cadena a fecha en java
- 8. fecha sql convertir a formato de cadena
- 9. PHP: convertir cadena de fecha a fecha Unix
- 10. VBA para convertir la cadena Fecha
- 11. Cómo convertir la fecha representada como una cadena a milisegundos?
- 12. ¿Cómo convertir cadena a la fecha T-SQL?
- 13. Convertir cadena a la fecha en mi aplicación de iPhone
- 14. cómo convertir una cadena a la fecha en mysql?
- 15. Error al convertir fecha y hora a la cadena
- 16. Convertir cadena a tipo C#
- 17. C# cadena de conversión a la hora de fecha
- 18. Convertir cadenas a la fecha en bash
- 19. Convertir cadenas devueltas (YYYYMMDD) a la fecha
- 20. Cómo convertir Date.toString a la fecha?
- 21. Convertir la cadena de fecha AAAAMMDD a un valor de fecha y hora
- 22. Cómo convertir la fecha UTC + 0 a la fecha PST?
- 23. Cadena de conversión Sqlite a la fecha
- 24. Convertir cadenas a la fecha, formatear: "dd.mm.aaaa"
- 25. LINQ convertir DateTime a la cadena
- 26. convertir la fecha aaaammdd a yyJJJ o Julian Fecha
- 27. fecha Convertir a XMLGregorianCalendar
- 28. sql fecha convertir a servidor cadena MM/DD/AAAA
- 29. ¿Cómo convertir una cadena de fecha a un objeto DateTime?
- 30. Cómo convertir una cadena a una fecha en sybase
Qué quiere decir 25/03/10? –