Date To String : Date Parser « Data Type « Java






Date To String

     
/*******************************************************************************
 * Copyright 2008 Mjrz.net
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;

/**
 * @author Mjrz contact@mjrz.net
 *
 */
public class DateUtils {
  public static final String FORMAT_YYYYMMDD = "yyyy-MM-dd";
  public static final String FORMAT_YYYYMMDD_SLASHES = "yyyy/MM/dd";
  public static final String GENERIC_DISPLAY_FORMAT = "E, dd MMM yyyy";
  public static final String TIME_DISPLAY_FORMAT = "HH mm ss";
  public static final int LAST_WEEK = 1;
  public static final int LAST_MONTH = 2;

  public static final String formatDate(Date dt, String format) {
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(dt);
    
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(format);
    sdf.setTimeZone(TimeZone.getDefault());     
    return (sdf.format(cal.getTime()));   
  }
  
  public static final String getCurrentDate(String format) {
    Calendar cal = Calendar.getInstance(TimeZone.getDefault());
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(format);
      sdf.setTimeZone(TimeZone.getDefault());     
      return (sdf.format(cal.getTime()));
  }
  
  public static final String dateToString(Date dt, String dateformat) {
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(dt);
    
    StringBuffer ret = new StringBuffer();
    String separator = new String();
    if(dateformat.equals(DateUtils.FORMAT_YYYYMMDD) ) {
      separator = "-";
    }
    if(dateformat.equals(DateUtils.FORMAT_YYYYMMDD_SLASHES) ) {
      separator = "/";
    }
    ret.append(cal.get(Calendar.YEAR));
    ret.append(separator);
    ret.append(cal.get(Calendar.MONTH) + 1);
    ret.append(separator);
    ret.append(cal.get(Calendar.DATE));

    return ret.toString();
  }
  
  public static final String dateToString(Date dt, String tzString, String dateformat) {
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(dt);
    cal.setTimeZone(TimeZone.getTimeZone(tzString));
    
    StringBuffer ret = new StringBuffer();
    String separator = new String();
    if(dateformat.equals(DateUtils.FORMAT_YYYYMMDD) ) {
      separator = "-";
    }
    if(dateformat.equals(DateUtils.FORMAT_YYYYMMDD_SLASHES) ) {
      separator = "/";
    }
    ret.append(cal.get(Calendar.YEAR));
    ret.append(separator);
    ret.append(cal.get(Calendar.MONTH) + 1);
    ret.append(separator);
    ret.append(cal.get(Calendar.DATE));

    return ret.toString();
  }

  public static final String getTimeFromDate(Date dt) {
    Calendar cal = new GregorianCalendar();
    cal.setTime(dt);
    
    StringBuffer ret = new StringBuffer();
    ret.append(cal.get(Calendar.HOUR));
    ret.append(":");
    ret.append(cal.get(Calendar.MINUTE));
    
    return ret.toString();
  }
  
  public static final String getTimeFromDate(Date dt, String tzString) {
    try {
      GregorianCalendar gc = new GregorianCalendar();
      gc.setTime(dt);
      gc.setTimeZone(TimeZone.getTimeZone(tzString));
      StringBuffer ret = new StringBuffer();
      ret.append(gc.get(Calendar.HOUR));
      ret.append(":");
      ret.append(gc.get(Calendar.MINUTE));
      ret.append(" ");
      if(gc.get(Calendar.AM_PM) == 0) {
        ret.append("AM");
      }
      else { 
        ret.append("PM");
      }
      return ret.toString();
    }
    catch(Exception e) {
      return "";
    }
  }
  
  public static final String getDateTimeFromDate(Date dt, String tzString) {
    try {
      GregorianCalendar gc = new GregorianCalendar();
      gc.setTime(dt);
      gc.setTimeZone(TimeZone.getTimeZone(tzString));
      StringBuffer ret = new StringBuffer();
      ret.append(gc.get(Calendar.YEAR));
      ret.append("-");
      ret.append(gc.get(Calendar.MONTH) - 1);
      ret.append("-");
      ret.append(gc.get(Calendar.DATE));
      ret.append(" ");
      ret.append(gc.get(Calendar.HOUR));
      ret.append(":");
      ret.append(gc.get(Calendar.MINUTE));
      ret.append(" ");
      if(gc.get(Calendar.AM_PM) == 0) {
        ret.append("AM");
      }
      else { 
        ret.append("PM");
      }
      return ret.toString();
    }
    catch(Exception e) {
      return "";
    }
  }
  
  public static final String calendarToString(Calendar cal, String dateformat) {
    StringBuffer ret = new StringBuffer();
    if(dateformat.equals(FORMAT_YYYYMMDD) ) {
      ret.append(cal.get(Calendar.YEAR));
      ret.append("-");
      
      String month = null;
      int mo = cal.get(Calendar.MONTH) + 1; /* Calendar month is zero indexed, string months are not */
      if(mo < 10) {
        month = "0" + mo;
      }
      else {
        month = "" + mo;
      }
      ret.append(month);      
      
      ret.append("-");
      
      String date = null;
      int dt = cal.get(Calendar.DATE);
      if(dt < 10) {
        date = "0" + dt;
      }
      else {
        date = "" + dt;
      }
      ret.append(date);
    }
    
    return ret.toString();
  }


  
  public static final GregorianCalendar getCurrentCalendar(String utimezonestring) {
    try {
      GregorianCalendar gc = new GregorianCalendar();

      gc.setTimeZone(TimeZone.getTimeZone(utimezonestring));
      return gc;
    }
    catch(Exception e) {
      //If exception, return server TimeStamp
      return new GregorianCalendar();
    }
  }
  
  public static String[] getDateRange(int cmd) {
    GregorianCalendar gc = new GregorianCalendar();
    GregorianCalendar gc2 = new GregorianCalendar();
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //$NON-NLS-1$
    String ret[] = new String[2];
    ret[1] = sdf.format(gc.getTime());
    
    if(cmd == LAST_WEEK) {      
      for(int i = 0; i < 7; i++) {
        gc2.add(Calendar.DATE, -1);
      }
      
    }
    if(cmd == LAST_MONTH) {
      gc2.add(Calendar.MONTH, -1);      
    }
    ret[0] = sdf.format(gc2.getTime());
    return ret;
  }


  public static final String getDayString(int day) {
    switch (day) {
      case Calendar.SUNDAY:
        return "SUNDAY";      
      case Calendar.MONDAY:
        return "MONDAY";
      case Calendar.TUESDAY:
        return "TUESDAY";
      case Calendar.WEDNESDAY:
        return "WEDNESDAY";
      case Calendar.THURSDAY:
        return "THURSDAY";
      case Calendar.FRIDAY:
        return "FRIDAY";
      case Calendar.SATURDAY:
        return "SATURDAY";
    }
    return "";
  }
}

   
    
    
    
    
  








Related examples in the same category

1.Date parser for ISO 8601 format
2.Date Utils
3.Perform date validations
4.ISO 8601 date parsing utility.
5.Parses a string representing a date by trying a variety of different parsers.
6.Parses a time period into a long. Translates possible [msec|sec|min|h] suffixes
7.A method to get the current date as an array of components 0 = year, 1 = month, 2 = day
8.ISO 8601 date parsing utility. Designed for parsing the ISO subset used in Dublin Core, RSS 1.0, and Atom.
9.A simple XML parser that starts parsing right away and validates along the way.