¿Por qué java.time.Clock tiene información de la zona?

James :

¿Por qué se java.time.Clocktiene información de la zona? Desde el reloj sólo se puede obtener una Instantcuando se llama al instant()método - que es un momento sin información de zona.

Es el único propósito de tener la zona disponible en el reloj para por ejemplo crear un ZonedDateTime así? ZonedDateTime.ofInstant(clock().instant(), clock().getZone())

¿No sería entonces tiene sentido tener un método zonedDateTime()en la clase de reloj?

Martín de Hessle:

comportamientos de reloj alternos

Citando la Clockdocumentación (el énfasis es mío):

El uso de un reloj es opcional. Todas las clases principales de fecha y hora también tienen un método de fábrica ahora () que utiliza el reloj del sistema en la zona horaria predeterminada. El propósito principal de esta abstracción es permitir que los relojes alternas para ser enchufados como y cuando sea necesario . Las aplicaciones utilizan un objeto para obtener la hora actual en lugar de un método estático. Esto puede simplificar las pruebas.

Por ejemplo, Clock.fixed( Instant fixedInstant, ZoneId zone )siempre informa el momento actual como un momento específico, un (no cambiantes) de punto fijo en el tiempo.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=175439&siteId=1
Recomendado
Clasificación