C # DateTime ToString ("MM-dd-yyyy") devuelve valores de día divertido
-
05-07-2019 - |
Pregunta
Tengo el siguiente código en el archivo de código de una página ASP.Net
txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy");
Que espero devolver " 09-11-2009 " ;. Sin embargo, cuando ejecuto la página en el servidor de desarrollo, veo " 09-00-2009 " en el cuadro de texto. No puedo ver ninguna razón para esto, así que claramente me estoy perdiendo algo. ¿Alguien tiene una pista?
Solución
Que cadena de formato debería funcionar como se esperaba. Revisaré su cuadro de texto para asegurarme de que no tenga algún tipo de máscara (AJAX MaskedEditExtender?) En él. Si lo hiciste, y tal vez tuvieras la máscara incorrecta, podría sobrescribir lo que estabas poniendo en el cuadro de texto.
Otros consejos
No puedo pensar por qué mostraría 00, pero como una sugerencia aleatoria, puedes probar:
... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
Prueba algo como esto:
DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US"))
¿podría verificar Datetime, Now.ToString ()?
Use .Now para obtener la hora local
txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy");