From 46bb7df36b32ae7b5903eab343581914a822c258 Mon Sep 17 00:00:00 2001 From: john Date: Sun, 14 Apr 2002 22:52:28 +0000 Subject: [PATCH] a couple of w3/dublin core date functions added --- source/mir/misc/StringUtil.java | 50 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/source/mir/misc/StringUtil.java b/source/mir/misc/StringUtil.java index 2e702dc8..409d5a05 100755 --- a/source/mir/misc/StringUtil.java +++ b/source/mir/misc/StringUtil.java @@ -68,6 +68,34 @@ public final class StringUtil { } /** + * Return a http://www.w3.org/TR/NOTE-datetime formatted date (yyyymmddThhmmssTZ) + * @param theDate + * @return w3approved datetime + */ + + public static final String date2w3DateTime (GregorianCalendar theDate) { + StringBuffer webdbDate = new StringBuffer(); + webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR))); + webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1)); + webdbDate.append(pad2(theDate.get(Calendar.DATE))); + webdbDate.append("T"); + webdbDate.append(pad2(theDate.get(Calendar.HOUR))); + webdbDate.append(pad2(theDate.get(Calendar.MINUTE))); + webdbDate.append(pad2(theDate.get(Calendar.SECOND))); + //assumes you are an hour-multiple away from UTC.... + int offset=(theDate.get(Calendar.ZONE_OFFSET)/(60*60*1000)); + if (offset < 0){ + webdbDate.append("-"); + } + else{ + webdbDate.append("+"); + } + webdbDate.append(pad2(Math.abs(offset))); + webdbDate.append("00"); + return webdbDate.toString(); + } + + /** * wandelt Calendar in dd.mm.yyyy / hh.mm um * @param theDate * @return String mit (dd.mm.yyyy / hh.mm um) @@ -133,6 +161,28 @@ public final class StringUtil { } return returnDate.toString(); } + + /** + * converts string from format: yyyy-mm-dd__hh:mm:ss.dddddd+TZ + * to yyyymmddThhmmss+TZ:00 (w3 format for Dublin Core) + */ + public static String webdbdateToDCDate(String date) { + StringBuffer returnDate = new StringBuffer(); + if (date!=null) { + + returnDate.append(date.substring(0,4)); + returnDate.append(date.substring(5,7)); + returnDate.append(date.substring(8,10)); + returnDate.append("T"); + returnDate.append(date.substring(11,13)); + returnDate.append(date.substring(14,16)); + returnDate.append(date.substring(17,19)); + returnDate.append(date.substring(26,29)); + returnDate.append(":00"); + } + return returnDate.toString(); + } + /** * converts string from format: yyyy-mm-dd__hh:mm:ss.d -- 2.11.0