Solved

Converting a String in Date format

Posted on 2004-04-23
19
2,158 Views
Last Modified: 2010-04-01
How convert a String getting in input from a jsp page and formatting in a date format. I'm using JDev and Oracle9. Thanks  (PS: Sorry for my english!!, I'm italian)
0
Comment
Question by:MissBrucoMela
[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
  • 8
  • 5
  • 4
  • +2
19 Comments
 
LVL 9

Expert Comment

by:Nick_72
ID: 10897386
What date format do you need and what value does the String have (for example)?
0
 

Author Comment

by:MissBrucoMela
ID: 10897574
date format is (DD/MM/YYYY), the value in input is a String, for example: "22/04/2004"
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10897710
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( "dd/MM/yyyy" ) ;

String inputDate = "10/05/1974" ;
try
{
    Date date = sdf.parse( inputDate ) ;
}
catch( java.text.ParseException ex )
{
    // invalid date :-)
}
0
Industry Leaders: 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 9

Expert Comment

by:Nick_72
ID: 10898146
You should use the setLenient() method too, otherwise non-valid dates, or dates which does not match the objects format might be parsed without error:

java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( "dd/MM/yyyy" ) ;
sdf.setLenient(false); <<-- add this line
0
 
LVL 7

Expert Comment

by:searlas
ID: 10898847
Even with setLenient(false) it still accepts single digit day/month.
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat( "dd/MM/yyyy" ) ;
sdf.setLenient(false);
sdf.parse("1/5/2004");
sdf.parse("01/5/2004");
sdf.parse("1/05/2004");
sdf.parse("01/05/2004");

I'm undecided whether that's a good thing or a bad thing.
0
 
LVL 9

Expert Comment

by:Nick_72
ID: 10899031
That is just different representation of an int value, however try these invalid dates with and without
setLenient(false);

sdf.parse("01/13/2004");
sdf.parse("29/02/2003");
0
 
LVL 9

Expert Comment

by:Nick_72
ID: 10899046
without the setLenient(false), the parse() call will not throw a parseException.
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10899103
> I'm undecided whether that's a good thing or a bad thing.

Good thing

;)
0
 

Author Comment

by:MissBrucoMela
ID: 10900186
I'm sorry...I have been wrong... I must use java.sql.Date and  not java.util.Date!
How can I do?
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10900205
String inputDate = "10/05/1974" ;
try
{
    java.sql.Date date = new java.sql.Date( sdf.parse( inputDate ).getTime() ) ;
}
catch( java.text.ParseException ex )
{
    // invalid date :-)
}
0
 

Author Comment

by:MissBrucoMela
ID: 10900443
Don't works!
I have a error message:
"java.lang.NullPointerException
      int java.text.SimpleDateFormat.subParse(java.lang.String, int, char, int, boolean, boolean[]) SimpleDateFormat.java:967......"

If I pass the value String from the jsp page don't works, but if I pass the value with the string "String inputDate="16/03/1974", It works... I don't Know...
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10900535
Because you are getting null from getParameter

String param = request.getParameter( "whatever" ) ;

param is null...

they didn't enter a date...
0
 
LVL 35

Accepted Solution

by:
TimYates earned 50 total points
ID: 10900554
If I am not right, you are going to have to post a bit of your jsp from where you get the parameter, to where you format the string into a date..

check you have the parameter name right (if you are using getParameter)

if it is null, then skip the Date creation bit of code, and remind the user to enter a date...
0
 

Author Comment

by:MissBrucoMela
ID: 10900608
I'm so stupid...you're right!!!Thanks a lot!
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10900642
:-)
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10900648
Only a B grade tho *sniff* :-(
0
 

Author Comment

by:MissBrucoMela
ID: 10917771
I'm a newbie for experts-exanchange. next time you'll have the highest grade.I promise
0
 
LVL 35

Expert Comment

by:TimYates
ID: 10917778
:-)  Ta :-)

Good luck!!
0
 

Expert Comment

by:stevenwarner
ID: 11153968
Does anybody have a piece of code that will remove the padded zero from a date that I can place in a JSP page?

Input : May 05, 2004  
Output:  May 5, 2004
0

Featured Post

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!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Multiple Images Upload [JSP Web-application] 3 53
caughtSpeeding java challenge 16 143
own marker interface 1 61
struts exact match support 3 64
By reading this blog, MSPs will gain insight into how to improve communications with their clients as well as establish a more profitable business.
The goal of this blog is to: > note what has impeded us from reaching effective life on-call > provide 3 steps to mastering life on-call > highlight what will be achieved with effective life on-call
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…
This video shows how to use Hyena, from SystemTools Software, to update 100 user accounts from an external text file. View in 1080p for best video quality.

710 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