Changeset 18


Ignore:
Timestamp:
07/27/07 18:37:09 (6 years ago)
Author:
saua
Message:

I forgot to commit this last time, it's needed for GPX export

File:
1 edited

Legend:

Unmodified
Added
Removed
  • bbtracker_common/trunk/src/org/bbtracker/Utils.java

    r11 r18  
    11package org.bbtracker; 
    22 
     3import java.util.Calendar; 
    34import java.util.Date; 
     5import java.util.TimeZone; 
    46 
    57public final class Utils { 
     
    154156        } 
    155157 
     158        /** 
     159         * Calculates a valid xsd:dateTime value from a given date. 
     160         *  
     161         * The XML Schema standard defines a dateTime roughly as "YYYY-MM-DDThh:mm:ss(.s+)? (zzzzzz)?" 
     162         *  
     163         * @param date 
     164         * @return 
     165         */ 
     166        public static String dateToXmlDateTime(final Date date) { 
     167                final TimeZone utc = TimeZone.getTimeZone("GMT"); 
     168                final Calendar c = Calendar.getInstance(utc); 
     169                c.setTime(date); 
     170                final StringBuffer result = new StringBuffer(24); 
     171                result.append(c.get(Calendar.YEAR)).append('-'); 
     172                appendTwoDigits(result, c.get(Calendar.MONTH) + 1, '0').append('-'); 
     173                appendTwoDigits(result, c.get(Calendar.DATE), '0').append('T'); 
     174                appendTwoDigits(result, c.get(Calendar.HOUR_OF_DAY), '0').append(':'); 
     175                appendTwoDigits(result, c.get(Calendar.MINUTE), '0').append(':'); 
     176                appendTwoDigits(result, c.get(Calendar.SECOND), '0').append('.'); 
     177                final int millisecond = c.get(Calendar.MILLISECOND); 
     178                if (millisecond < 100) { 
     179                        result.append('0'); 
     180                } 
     181                appendTwoDigits(result, millisecond, '0').append('Z'); 
     182 
     183                return result.toString(); 
     184        } 
     185 
    156186        public static String escapeXml(final String xml) { 
    157187                final StringBuffer escaped = new StringBuffer(xml.length() + 4); 
Note: See TracChangeset for help on using the changeset viewer.