Solved

Converting a String in Date format

Posted on 2004-04-23
19
2,152 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
Comment Utility
What date format do you need and what value does the String have (for example)?
0
 

Author Comment

by:MissBrucoMela
Comment Utility
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
Comment Utility
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
 
LVL 9

Expert Comment

by:Nick_72
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
without the setLenient(false), the parse() call will not throw a parseException.
0
 
LVL 35

Expert Comment

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

Good thing

;)
0
 

Author Comment

by:MissBrucoMela
Comment Utility
I'm sorry...I have been wrong... I must use java.sql.Date and  not java.util.Date!
How can I do?
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 35

Expert Comment

by:TimYates
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
I'm so stupid...you're right!!!Thanks a lot!
0
 
LVL 35

Expert Comment

by:TimYates
Comment Utility
:-)
0
 
LVL 35

Expert Comment

by:TimYates
Comment Utility
Only a B grade tho *sniff* :-(
0
 

Author Comment

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

Expert Comment

by:TimYates
Comment Utility
:-)  Ta :-)

Good luck!!
0
 

Expert Comment

by:stevenwarner
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

HOW TO: Install and Configure VMware vSphere Hypervisor 6.5 (ESXi 6.5), Step by Step Tutorial with screenshots. From Download, Checking Media, to Completed Installation.
Veeam Backup & Replication has added a new integration – Veeam Backup for Microsoft Office 365.  In this blog, we will discuss how you can benefit from Office 365 email backup with the Veeam’s new product and try to shed some light on the needs and …
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

772 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now