Improve company productivity with a Business Account.Sign Up

x
?
Solved

Converting a String in Date format

Posted on 2004-04-23
19
Medium Priority
?
2,164 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
  • 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
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.

 
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 150 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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Read this post to discover how will you get your first iPhone App Approved by Apple. Make these necessary changes to prevent rejection of the app.
Article by: Eric
When it comes to building apps, it's more than just writing code. And unfortunately, many people (and companies) forget that. In fact, the raw time it takes to build the app itself is only half the battle.
Free Data Recovery software is an advanced solution from Kernel Tools to recover data and files such as documents, emails, database, media and pictures, etc. It supports recovery from physical & logical drive after a hard disk crash, accidental/inte…
Watch the working video to know how to import Outlook PST/OST files to Amazon WorkMail. Kernel released this tool which is very easy to use and migrate single or multiple PST and OST files to Amazon WorkMail. To know more about Kernel Import PST to …

606 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