tomar tiempo y agregar a la fecha para hacer datetime?

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?

preguntado el 12 de junio de 12 a las 15:06

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? -

Sin quejarse ni nada, solo curiosidad, ¿por qué los almacenas en cadenas? -

@ShadowWizard esta aplicación solo funcionará en los EE. UU. -

2 Respuestas

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

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 or haz tu propia pregunta.