Solved

Java String date conversion from one format to another Java Date format

Posted on 2009-05-08
16
1,252 Views
Last Modified: 2012-05-06
I need to convert the Java date from one format to another format and get returned date in new format which shoud be java.util.Date object only.

I have written following given below method but I am getting same output as input.

calling of method
convertStringToDateNew("Wed Apr 29 01:12:44 IST 2009", "MM/dd/yyyy HH:mm:ss");
public static Date convertDateToNewFormat(String sDate, String dateFormat)  throws TechnicalException
    {
        SimpleDateFormat expectedDateFormat = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
        SimpleDateFormat requiredDateFormat= new SimpleDateFormat(dateFormat);
       
        Date date = null;
        try
        {
        	if(sDate != null)
        	{
	            date = expectedDateFormat.parse(sDate);
	            String strDate = requiredDateFormat.format(date);
	            System.out.println("String date ="+strDate);
	            date = requiredDateFormat.parse(strDate);
 
           }
        } catch (Exception e)
        {
        	throw new TechnicalException ("Exception in [CommonUtil][convertStringToDate]", e.getMessage());			
        }
        return date;		 
    }

Open in new window

0
Comment
Question by:VikasGupta79
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 7
  • 2
16 Comments
 
LVL 92

Expert Comment

by:objects
ID: 24334268
your method should return astring, not a Date. Date has no idea about formatting

public static String convertDateToNewFormat(String sDate, String dateFormat)  throws TechnicalException
    {
        SimpleDateFormat expectedDateFormat = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
        SimpleDateFormat requiredDateFormat= new SimpleDateFormat(dateFormat);
       
        String strDate = null;
        try
        {
                if(sDate != null)
                {
                    Date date = expectedDateFormat.parse(sDate);
                   strDate = requiredDateFormat.format(date);
                    System.out.println("String date ="+strDate);
           }
        } catch (Exception e)
        {
                throw new TechnicalException ("Exception in [CommonUtil][convertStringToDate]", e.getMessage());                        
        }
        return strDate;            
    }
0
 

Author Comment

by:VikasGupta79
ID: 24334280
But I need Java.util.Date object to be returned.... if I return String than how will I get date object..
0
 
LVL 92

Expert Comment

by:objects
ID: 24334290
if you need the date object then you have to handle formatting it elsewhere
the method you have effectively does nothing, it just returns the same date that you pass it

0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 12

Expert Comment

by:Gibu George
ID: 24334299
Try this
public static Date convertDateToNewFormat(String sDate, String dateFormat)  throws TechnicalException
    {
        SimpleDateFormat requiredDateFormat= new SimpleDateFormat(dateFormat);
       
        Date date = null;
        try
        {
              if(sDate != null)
              {
                  date = requiredDateFormat.parse(sDate);
 
           }
        } catch (Exception e)
        {
              throw new TechnicalException ("Exception in [CommonUtil][convertStringToDate]", e.getMessage());                  
        }
        return date;             
    }

Open in new window

0
 

Author Comment

by:VikasGupta79
ID: 24334320
Ok..how to do that, I mean I have date object which has date in "Wed Apr 29 01:12:44 IST 2009" format now I need to format this date object into "MM/dd/yyyy HH:mm:ss" date format...
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24334373
Sorry!! my answer was wrong. I would like to know how you are checking the format of the date after conversion
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24334384
Your code is correct and is working fine, just do an SOP of the returned date and it prints out with the format which you passed.
0
 

Author Comment

by:VikasGupta79
ID: 24334434
SOP will work fine becox its internally calls toString() method ....I have to set the new formatted date string in date object as its required for me to set this formatted date in another method....
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24334512
In date object date is kept as time in millis not in any particular format. You can format it for display purposes as string using SimpleDateFormat
0
 

Author Comment

by:VikasGupta79
ID: 24334808
It does not solve my problem, so is there any way I get the formatted date object
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24334852
Why you want a formatted date object?
0
 

Author Comment

by:VikasGupta79
ID: 24334882
becx
1. I cant shw "Wed Apr 29 01:12:44 IST 2009" this kind of date to user as we have different format on UI
2. I need date object only as I need sort the list of items on date object.

I dont have any control on sorting API's as its framework provided.....so I got stuck here...
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 24334994
Does the sorting api expects the date in MM/dd/yyyy HH:mm:ss format or will it take any format?
0
 

Author Comment

by:VikasGupta79
ID: 24335009
our application requirement is MM/dd/yyyy HH:mm:ss  format....so we cant devate from that
0
 
LVL 12

Accepted Solution

by:
Gibu George earned 50 total points
ID: 24335027
You have control over the presentation part, so format it while displaying only.
0
 

Author Closing Comment

by:VikasGupta79
ID: 31579357
Thanks allot for your help!!!!
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Fisheye tool 2 124
how to exclude a file using regex 5 123
JSP How to use numberFormat to display a negative number without parenthesis? 1 209
junit example issue 2 52
A big percent of today’s marketing activity is performed through the online environment. The marketing strategies that have existed a decade ago no longer relate to what’s happening today. We’re currently facing a revolutionary era, called the digit…
I was prompted to write this article after the recent World-Wide Ransomware outbreak. For years now, System Administrators around the world have used the excuse of "Waiting a Bit" before applying Security Patch Updates. This type of reasoning to me …
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question