.net - yyyy - error fecha y hora google chrome
Cómo controlar la apariencia de '':'' en el desplazamiento de zona horaria al analizar/formatear Fecha y hora (2)
Estoy trabajando con un protocolo que puede incluir opcionalmente un desplazamiento de zona horaria al especificar información de fecha y hora. Mi código está escrito en C # y estamos usando el tiempo de ejecución 4.0 .NET. Veo que hay una opción de formato "zzz" para incluir información de zona horaria al analizar y formatear, sin embargo, parece que los dos puntos (:) están corregidos. Por ejemplo, un formato de fecha y hora con el formato personalizado (yyyyMMddHHmmsszzz) puede aparecer como:
20100309101530-05: 00
El protocolo con el que estoy trabajando no incluye los dos puntos en el desplazamiento de la zona horaria. Este protocolo formateará las fechas y espera que tengan el formato de:
20100309101530-0500
¿Hay alguna manera de controlar la apariencia de los dos puntos al analizar o formatear la fecha y hora con un formateador personalizado que incluye el desplazamiento de la zona horaria?
No parece que haya nada incorporado (puede usar zz
, pero eso deja fuera los minutos).
Puede hacer rodar el suyo creando un DateTimeFormatInfo
, estableciendo TimeSeparator
en string.Empty
y usándolo como IFormatProvider
cuando se llama a DateTime.ToString
(y haga que la llamada sea explícita, si no lo es).
Pero francamente, utilizar Replace
para eliminar lo no deseado :
del valor de retorno predeterminado es mucho más fácil.
Enfrenté el mismo problema, terminé usando una extensión
public static class DateTimeExtensions
{
public static String ToSomeFormat(this DateTimeOffset dateTime)
{
return dateTime.ToString("yyyyMMddHHMMzzz").Replace(":", "");
}
}