Pregunta

Por alguna razón, el código ASP.NET en mi servidor ahora devuelve un formato de dd / MM / aaaa en lugar de MM / dd / aaaa cuando uso < strong> DateTime.ToString (" g ") .

En lugar de reemplazar todos los " g " formatear cadenas con una cadena de formato concreta o el argumento CultureInfo, ¿hay alguna manera de que pueda anular, en toda la aplicación, la fecha corta predeterminada? formato?

Mi preferencia es en realidad '' aaaa-MM-dd '' como formato predeterminado, pero puedo vivir con el MM / dd / aaaa centrado en los EE. UU., ya que todos los usuarios están en los EE. UU.

Aclaración: no quiero cambiar toda la cultura predeterminada, lo que podría afectar cosas como la moneda y el uso de decimales / comas en el formato de los números.

Solo quiero anular cualquier llamada a ToString (" g ") para usar el formato de fecha ISO / IEC 8824 (" aaaa-MM-dd ").

Podría buscar y reemplazar mi código para forzar un CultureInfo en cada llamada a ToString (), pero eso no me parece la solución más fácil de mantener.

Mi solución actual es que he definido un método estático para formatear una fecha, y lo llamo en lugar de ToString () en toda mi base de código. Pero nuevamente, si me olvido de hacerlo en algún lugar del código, tendré una cita tonta nuevamente.

¿Fue útil?

Solución 2

Establecer la cultura no era una opción, ni dependía de la configuración regional del servidor.

Terminé escribiendo una función de utilidad para formatear fechas:

Public Shared Function FormatShortDate(ByVal d As Date) As String
    If d=#1/1/0001# Then Return ""
    If d=#1/1/1900# Then Return ""
    'ISO/IEC 8824 date format
    Return d.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)
End Function

Llamo a esto en todas partes donde necesito darle una fecha al usuario. También maneja la visualización de las fechas predeterminadas (" magic ").

Escribí algunas funciones similares para y FormatShortDateTime y FormatLongDateTime.

Otros consejos

Puede establecer la cultura predeterminada en web.config (nivel de aplicación), directiva de página o directiva de control.

Tengo varias aplicaciones donde las páginas maestras están configuradas para diferentes culturas, y las páginas y los controles heredan de allí.

Puede manipular el formato de fecha corta cambiando la configuración en la configuración regional en el panel de control de su servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top