2009-09-11 9 views
11

tengo el siguiente código en el archivo de código subyacente de una página ASP.NetC# DateTime ToString ("MM-dd-aaaa") devuelve valores día divertido de

txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy"); 

que espero volver "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 veo ninguna razón para esto, así que claramente me falta algo. Alguien tiene una pista?

+0

lo mismo me da buenos resultados. ¿Tal vez el reloj de tu sistema está en mal estado? – ryber

+0

compruébalo con ToString ("MM-ddd-aaaa"); y con ToString ("MM-dddd-aaaa"); y mira lo que obtienes ... Si no ves ningún cambio, entonces la cadena de formato de año no llega a la página devuelta de alguna manera ... Si ves 09-Mon-2009 y 09-Monday-2009, entonces el reloj de tu computadora está off –

Respuesta

7

Eso format string debería funcionar como se espera. Verificaría tu cuadro de texto para asegurarte de que no tienes algún tipo de máscara (AJAX MaskedEditExtender?) En él. Si lo hizo, y tal vez tenía la máscara incorrecta, podría sobrescribir lo que estaba poniendo en el cuadro de texto.

+0

Tiene AJAX CalendarExtender en él, pero la cadena de formato para ambos es idéntica. –

+0

Eso fue todo: cometí un error al copiar la cadena de formato para el extensor. –

14

no puedo pensar por qué sería una muestra de 00, sino como una sugerencia al azar que usted podría intentar:

... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture); 
0

podría marcar Datetime, Now.ToString()?

+0

Sí, lo comprobé, el mismo resultado. –

4

intentar algo como esto:

DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US")) 
+0

Gracias por este buen consejo. –

0

Uso .Now para obtener la hora local

txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy"); 
Cuestiones relacionadas