Galería

My #DateUtils an #Java Utility for dates with Locale configured in properties file

Una de las utilerías indispensables en el arsenal de cualquier desarrollador Java es la que provee el tratamiento de fechas.

DateUtils

Generalmente llamada DateUtils (probablemente derivado del proyecto Apache Commons Lang), cada quien elabora su propia versión, la cual puede ser tan sencilla o tan compleja como el desarrollo requiera.  Esto, dada la amplia gama de posibilidades que el tratamiento de fechas permite en función de tres elementos:

  • El Calendario
  • La Región Geográfica (Locale)
  • El Formato

Custom Locale

Saben que no soy amigo de andar inventando la rueda, así que por lo general procuro reutilizar soluciones ya existentes; sin embargo, recientemente tuve la necesidad de permitir la configuración del comportamiento del manejo de fechas.

A Locale object represents a specific geographical, political, or cultural region. An operation that requires a Locale to perform its task is called locale-sensitive and uses the Locale to tailor information for the user.

Mark Davis

La solución clásica para el manejo de fechas lo que hace es permitir que la aplicación lea el Locale correspondiente al entorno donde se ejecuta; es decir, toma el valor a partir de la máquina virtual.

Para mi caso,  lo que hice fue leer de un archivo .properties un parámetro que me permita determinar el Locale y hacer uso de este en los métodos de mi DateUtils.

App.Env.Lang=es-MX

Para lo cual, hice uso de una utileria desarrollada por bien amigo Manuel Arriola Gomar.

String langTag = I18n.COMMON.getString("App.Env.Lang");

DateUtils custom Locale

Una vez leído el valor de la variable configurada, simplemente se hace uso de la misma para obtener el Locale correspondiente.

DateUtils.getDateStr(fecha, formato, StringUtils.isNotBlank(langTag) ? Locale.forLanguageTag(langTag) : Locale.getDefault());

Espero te haya parecido útil este artículo

No olvides visitarme en mi perfil de GitHub: https://github.com/era5mx en donde encontrarás esta solución y otras más.

………….

Quiero man.tener.me informado: Seguir en Twitter @eldavid_oficial https://twitter.com/eldavid_oficial

Regálame un ME GUSTA. Y si eres solidario, COMPARTE para que otros puedan aprovecharlo


Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.