tomar tiempo y agregar a la fecha para hacer datetime?
Frecuentes
Visto 95 veces
2
Digamos que tengo lo siguiente:
string fromTime = "8:00am";
string someDate = "06/01/2012";
Quiero terminar haciendo esto:
DateTime dt = Convert.ToDateTime(someDate + someTime);
Básicamente, quiero tomar una fecha y agregarle la hora con el resultado de que lo anterior sea
06/01/2012 8:00am
Pero tenerlo almacenado en una variable de fecha y hora. es posible?
2 Respuestas
6
Podrías usar el DateTime.TryParseExact método que le permite especificar un formato al analizar:
class Program
{
static void Main()
{
string s = "06/01/2012 8:00am";
string format = "dd/MM/yyyy h:mmtt";
DateTime date;
if (DateTime.TryParseExact(s, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
Console.WriteLine(date);
}
}
}
Respondido el 12 de junio de 12 a las 15:06
¿Podría dar un ejemplo de cómo usar esto? - oJM86o
1
Prueba esto:
DateTime dt = DateTime.ParseExact(someDate + " " + someTime, "MM/dd/yyyy h:mmtt", CultureInfo.InvariantCulture);
Respondido el 12 de junio de 12 a las 15:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# datetime or haz tu propia pregunta.
La parte complicada es hacer que funcione en diferentes culturas con diferentes configuraciones de fecha y hora. Por ejemplo, "06/01/2012" significa 6 de enero en EE. UU. pero significa 1 de junio en Inglaterra. ¿Ves el problema en tu enfoque? - Shadow Wizard Hates Omicron
Sin quejarse ni nada, solo curiosidad, ¿por qué los almacenas en cadenas? - Simon Wilson
@ShadowWizard esta aplicación solo funcionará en los EE. UU. - oJM86o