From 6f3948f5f24027540d390cfd6da953bfccdf9135 Mon Sep 17 00:00:00 2001 From: john Date: Mon, 15 Apr 2002 10:27:44 +0000 Subject: [PATCH] more bug fixes in dublin core date functions.... i really shouldn't be allowed near a terminal after midnight --- source/mir/misc/StringUtil.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/mir/misc/StringUtil.java b/source/mir/misc/StringUtil.java index b4dccd1c..f0d40179 100755 --- a/source/mir/misc/StringUtil.java +++ b/source/mir/misc/StringUtil.java @@ -68,7 +68,7 @@ public final class StringUtil { } /** - * Return a http://www.w3.org/TR/NOTE-datetime formatted date (yyyymmddThhmmssTZ) + * Return a http://www.w3.org/TR/NOTE-datetime formatted date (yyyy-mm-ddThh:mm:ssTZ) * @param theDate * @return w3approved datetime */ @@ -76,11 +76,15 @@ public final class StringUtil { public static final String date2w3DateTime (GregorianCalendar theDate) { StringBuffer webdbDate = new StringBuffer(); webdbDate.append(String.valueOf(theDate.get(Calendar.YEAR))); + webdbDate.append("-"); webdbDate.append(pad2(theDate.get(Calendar.MONTH) + 1)); + webdbDate.append("-"); webdbDate.append(pad2(theDate.get(Calendar.DATE))); webdbDate.append("T"); webdbDate.append(pad2(theDate.get(Calendar.HOUR))); + webdbDate.append(":"); webdbDate.append(pad2(theDate.get(Calendar.MINUTE))); + webdbDate.append(":"); 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)); @@ -91,7 +95,7 @@ public final class StringUtil { webdbDate.append("+"); } webdbDate.append(pad2(Math.abs(offset))); - webdbDate.append("00"); + webdbDate.append(":00"); return webdbDate.toString(); } @@ -164,19 +168,23 @@ public final class StringUtil { /** * converts string from format: yyyy-mm-dd__hh:mm:ss.dddddd+TZ - * to yyyymmddThhmmss+TZ:00 (w3 format for Dublin Core) + * to yyyy-mm-ddThhmmss+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("-"); returnDate.append(date.substring(5,7)); + returnDate.append("-"); returnDate.append(date.substring(8,10)); returnDate.append("T"); returnDate.append(date.substring(11,13)); + returnDate.append(":"); returnDate.append(date.substring(14,16)); - returnDate.append(date.substring(17,19)); + returnDate.append(":"); + returnDate.append(date.substring(17,22)); returnDate.append(date.substring(20,22)); returnDate.append(":00"); } -- 2.11.0