• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2163
  • Last Modified:

Converting a String in Date format

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
MissBrucoMela
Asked:
MissBrucoMela
  • 8
  • 5
  • 4
  • +2
1 Solution
 
Nick_72Commented:
What date format do you need and what value does the String have (for example)?
0
 
MissBrucoMelaAuthor Commented:
date format is (DD/MM/YYYY), the value in input is a String, for example: "22/04/2004"
0
 
TimYatesCommented:
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: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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.

 
Nick_72Commented:
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
 
searlasCommented:
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
 
Nick_72Commented:
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
 
Nick_72Commented:
without the setLenient(false), the parse() call will not throw a parseException.
0
 
TimYatesCommented:
> I'm undecided whether that's a good thing or a bad thing.

Good thing

;)
0
 
MissBrucoMelaAuthor Commented:
I'm sorry...I have been wrong... I must use java.sql.Date and  not java.util.Date!
How can I do?
0
 
TimYatesCommented:
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
 
MissBrucoMelaAuthor Commented:
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
 
TimYatesCommented:
Because you are getting null from getParameter

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

param is null...

they didn't enter a date...
0
 
TimYatesCommented:
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
 
MissBrucoMelaAuthor Commented:
I'm so stupid...you're right!!!Thanks a lot!
0
 
TimYatesCommented:
:-)
0
 
TimYatesCommented:
Only a B grade tho *sniff* :-(
0
 
MissBrucoMelaAuthor Commented:
I'm a newbie for experts-exanchange. next time you'll have the highest grade.I promise
0
 
TimYatesCommented:
:-)  Ta :-)

Good luck!!
0
 
stevenwarnerCommented:
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

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 8
  • 5
  • 4
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now