ISO8601
Utility class for converting between Java time objects and ISO 8601 date strings. All methods are static.
Two formats are supported:
- Extended:
YYYY-MM-DDThh:mm:ss.SSSTZD(e.g.2024-03-15T14:30:00.000+01:00) - Basic:
yyyyMMddHHmmss(e.g.20240315143000)
Methods
Section titled “Methods”isExtended
Section titled “isExtended”Description:
| Method | Return values | Description |
|---|---|---|
| isExtended(String value) | boolean | Returns true if the string matches the extended ISO 8601 pattern YYYY-MM-DDThh:mm:ss.SSSTZD. |
Example:
boolean valid = ISO8601.isExtended("2024-03-15T14:30:00.000+01:00"); // trueboolean invalid = ISO8601.isExtended("20240315143000"); // falseparseExtended
Section titled “parseExtended”Description:
| Method | Return values | Description |
|---|---|---|
| parseExtended(String value) | Calendar | Parses an extended ISO 8601 string (YYYY-MM-DDThh:mm:ss.SSSTZD) and returns a Calendar. Returns null for null input. Throws IllegalArgumentException if the string cannot be parsed. |
Example:
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
Section titled “formatExtended”Description:
| Method | Return values | Description |
|---|---|---|
| formatExtended(Calendar value) | String | Formats a Calendar value as an extended ISO 8601 string (YYYY-MM-DDThh:mm:ss.SSSTZD). Returns null for null input. |
Example:
String iso = ISO8601.formatExtended(Calendar.getInstance());System.out.println(iso); // "2024-03-15T14:30:00.000+01:00"parseBasic
Section titled “parseBasic”Description:
| Method | Return values | Description |
|---|---|---|
| parseBasic(String value) | Calendar | Parses a basic ISO 8601 string in the format yyyyMMddHHmmss and returns a Calendar. Returns null for null input. Throws IllegalArgumentException if the string cannot be parsed. |
- value: A date string in
yyyyMMddHHmmssformat.
Example:
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)
Section titled “formatBasic (Calendar)”Description:
| Method | Return values | Description |
|---|---|---|
| formatBasic(Calendar value) | String | Formats a Calendar value as a basic ISO 8601 string (yyyyMMddHHmmss). Returns null for null input. |
formatBasic (Date)
Section titled “formatBasic (Date)”Description:
| Method | Return values | Description |
|---|---|---|
| formatBasic(Date value) | String | Formats a Date value as a basic ISO 8601 string (yyyyMMddHHmmss). |
Example:
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
Section titled “printBasic”Description:
| Method | Return values | Description |
|---|---|---|
| printBasic(String value) | String | Parses a basic ISO 8601 string (yyyyMMddHHmmss) and reformats it as yyyy-MM-dd for display. Returns an empty string if the input is null or empty. |
Example:
String display = ISO8601.printBasic("20240315143000");System.out.println(display); // "2024-03-15"