ISO8601
Clase de utilidad para convertir entre objetos de fecha/hora de Java y cadenas de fecha ISO 8601. Todos los métodos son estáticos.
Se admiten dos formatos:
- Extendido:
YYYY-MM-DDThh:mm:ss.SSSTZD(p. ej.2024-03-15T14:30:00.000+01:00) - Básico:
yyyyMMddHHmmss(p. ej.20240315143000)
Métodos
Sección titulada «Métodos»isExtended
Sección titulada «isExtended»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isExtended(String value) | boolean | Devuelve true si la cadena coincide con el patrón ISO 8601 extendido YYYY-MM-DDThh:mm:ss.SSSTZD. |
Ejemplo:
boolean valid = ISO8601.isExtended("2024-03-15T14:30:00.000+01:00"); // trueboolean invalid = ISO8601.isExtended("20240315143000"); // falseparseExtended
Sección titulada «parseExtended»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| parseExtended(String value) | Calendar | Analiza una cadena ISO 8601 extendida (YYYY-MM-DDThh:mm:ss.SSSTZD) y devuelve un Calendar. Devuelve null si la entrada es nula. Lanza IllegalArgumentException si la cadena no se puede analizar. |
Ejemplo:
package com.openkm;
import com.openkm.util.ISO8601;import java.util.Calendar;
public class Test {
public static void main(String[] args) { try { Calendar cal = ISO8601.parseExtended("2024-03-15T14:30:00.000+01:00"); System.out.println(cal.getTime()); } catch (Exception e) { e.printStackTrace(); } }}formatExtended
Sección titulada «formatExtended»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| formatExtended(Calendar value) | String | Formatea un valor Calendar como una cadena ISO 8601 extendida (YYYY-MM-DDThh:mm:ss.SSSTZD). Devuelve null si la entrada es nula. |
Ejemplo:
String iso = ISO8601.formatExtended(Calendar.getInstance());System.out.println(iso); // "2024-03-15T14:30:00.000+01:00"parseBasic
Sección titulada «parseBasic»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| parseBasic(String value) | Calendar | Analiza una cadena ISO 8601 básica en formato yyyyMMddHHmmss y devuelve un Calendar. Devuelve null si la entrada es nula. Lanza IllegalArgumentException si la cadena no se puede analizar. |
- value: Una cadena de fecha en formato
yyyyMMddHHmmss.
Ejemplo:
package com.openkm;
import com.openkm.util.ISO8601;import java.text.SimpleDateFormat;import java.util.Calendar;
public class Test {
public static void main(String[] args) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar cal = ISO8601.parseBasic("20240315143000"); System.out.println(sdf.format(cal.getTime())); // "2024-03-15 14:30:00" } catch (Exception e) { e.printStackTrace(); } }}formatBasic (Calendar)
Sección titulada «formatBasic (Calendar)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| formatBasic(Calendar value) | String | Formatea un valor Calendar como una cadena ISO 8601 básica (yyyyMMddHHmmss). Devuelve null si la entrada es nula. |
formatBasic (Date)
Sección titulada «formatBasic (Date)»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| formatBasic(Date value) | String | Formatea un valor Date como una cadena ISO 8601 básica (yyyyMMddHHmmss). |
Ejemplo:
package com.openkm;
import com.openkm.util.ISO8601;import java.util.Calendar;
public class Test {
public static void main(String[] args) { try { Calendar cal = Calendar.getInstance(); System.out.println(ISO8601.formatBasic(cal)); // "20240315143000" System.out.println(ISO8601.formatBasic(cal.getTime())); // "20240315143000" } catch (Exception e) { e.printStackTrace(); } }}printBasic
Sección titulada «printBasic»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| printBasic(String value) | String | Analiza una cadena ISO 8601 básica (yyyyMMddHHmmss) y la reformatea como yyyy-MM-dd para su visualización. Devuelve una cadena vacía si la entrada es nula o está vacía. |
Ejemplo:
String display = ISO8601.printBasic("20240315143000");System.out.println(display); // "2024-03-15"