CalendarConverter.java :  » Client » jfireeagle » jfireeagle » xml » Android Open Source

Android Open Source » Client » jfireeagle 
jfireeagle » jfireeagle » xml » CalendarConverter.java

package jfireeagle.xml;

import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
import java.util.Date;
import java.util.Calendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class CalendarConverter extends AbstractSingleValueConverter
{
  public CalendarConverter()
  {
    super();
  }
  
  @Override
  public boolean canConvert(Class c)
  {
    return Calendar.class.isAssignableFrom(c);
  }

  @Override
  public Object fromString(String s)
  {
    if (s.charAt(s.length() - 3) == ':')
    {
      s = s.substring(0, s.length() - 3) + s.substring(s.length() - 2, s.length());
    }
    
    SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    
    try
    {
      Date d = fmt.parse(s);
      Calendar c = Calendar.getInstance();
      c.setTime(d);
      
      return c;
    } 
    catch (ParseException e)
    {
      throw new RuntimeException(e);
    }
  }

  public static void main(String[] args)
  {
    CalendarConverter converter = new CalendarConverter();
    Calendar c = (Calendar) converter.fromString("2008-10-16T22:09:06-07:00");
  }
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.