.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(":", "");
}
}