Simple way of doing Date conversion from String is by using java.text.SimpleDateFormat.
Here’s an extract of relevance from the javadoc, listing all available format patterns:
G Era designator Text AD y Year Year 1996; 96 M Month in year Month July; Jul; 07 w Week in year Number 27 W Week in month Number 2 D Day in year Number 189 d Day in month Number 10 F Day of week in month Number 2 E Day in week Text Tuesday; Tue u Day number of week Number 1 a Am/pm marker Text PM H Hour in day (0-23) Number 0 k Hour in day (1-24) Number 24 K Hour in am/pm (0-11) Number 0 h Hour in am/pm (1-12) Number 12 m Minute in hour Number 30 s Second in minute Number 55 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time zone -0800 X Time zone ISO 8601 time zone -08; -0800; -08:00
Here is the sample code that takes the String and the desired format from the user and converts.
public static String convertToDesireDateFormat(String date,String outputFormat){ SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); java.util.Date tempDate; try{ tempDate = dateFormat.parse(date); dateFormat.applyPattern(outputFormat); date = dateFormat.format(tempDate); }catch (Exception e){ e.printStackTrace(); } return date; }
Complete Code
package com.jkoder; import java.text.SimpleDateFormat; public class StringToDate { public static void main(String[] args) { String date = "11/02/2014"; String inputFormat = "dd/MM/yyyy"; String outputFormat = "MMM dd, yyyy HH:mm:ss a"; String desiredFormatDate = convertToDesireDateFormat(date, inputFormat, outputFormat); System.out.println("Input Date : "+date); System.out.println("Output Date : "+desiredFormatDate); } public static String convertToDesireDateFormat(String date, String inputFormat, String outputFormat) { if (date == null) return date; SimpleDateFormat dateFormat = new SimpleDateFormat(inputFormat); java.util.Date tempDate; try { tempDate = dateFormat.parse(date); dateFormat.applyPattern(outputFormat); date = dateFormat.format(tempDate); } catch (Exception e) { e.printStackTrace(); } return date; } }
Output
Input Date : 11/02/2014 Output Date : Feb 11, 2014 00:00:00 AM