rcmb
asked on
Help displaying time retrieved from a database field
I have a SQL 2000 database that in one of my columns I record a date and time. The sql format looks like:
10/15/2004 8:00:00 AM
When I retrieve this data to view in a JSP page I get:
Fri Oct 15 00:00:00 EDT 2004
I am not concerned with formatting right now as I have that much figured out but what my issue is I need the actual hh:mm:ss that were entered into the database to display. For some reason my time is reset to midnight regardless of the entry I make.
My current display is without formatting but this is what I will use to just display the time entered:
<% SimpleDateFormat dt = new SimpleDateFormat ("hh:mm:ss a"); %>
<td><%=dt.format(the.Rider (getArriva lTime())%> </td>
This works fine in displaying the time but it always reads 12:00:00 AM regradless of the entry in the database.
Any suggestions on where I could be going wrong in retrieving the time?
RCMB
10/15/2004 8:00:00 AM
When I retrieve this data to view in a JSP page I get:
Fri Oct 15 00:00:00 EDT 2004
I am not concerned with formatting right now as I have that much figured out but what my issue is I need the actual hh:mm:ss that were entered into the database to display. For some reason my time is reset to midnight regardless of the entry I make.
My current display is without formatting but this is what I will use to just display the time entered:
<% SimpleDateFormat dt = new SimpleDateFormat ("hh:mm:ss a"); %>
<td><%=dt.format(the.Rider
This works fine in displaying the time but it always reads 12:00:00 AM regradless of the entry in the database.
Any suggestions on where I could be going wrong in retrieving the time?
RCMB
ASKER
This is the line that actually reads from the database
Date tmpArrivalTime = ConvertDate.SqlDateToUtilD ate(rs.get Date("arri val_time") );
this.setArrivalTime(tmpArr ivalTime);
The column in SQL is a shortdatetime
RCMB
Date tmpArrivalTime = ConvertDate.SqlDateToUtilD
this.setArrivalTime(tmpArr
The column in SQL is a shortdatetime
RCMB
<td><%=dt.format(the.Rider (getArriva lTime())%> </td>
isn't valid java...
what's "the.Rider" do? And there aren't enough ')'s
isn't valid java...
what's "the.Rider" do? And there aren't enough ')'s
ASKER
The the.Rider is a vector that I used to gather the data from the sql query. Basically I have a sevlet that querys the database and then passes the data to a vector (the.Rider) and my jsp just grabs the data from the vector.
I am confused on the "isn't valid java" because it certainly works in displaying the information.
RCMB
I am confused on the "isn't valid java" because it certainly works in displaying the information.
RCMB
ASKER
I also understand there are many ways "to skin the cat" in java. This is a simple jsp that just pre-populates a form so the user can update some data. If the time comes back as 12:00:00 AM vice the actual time then editing the information will do no good. The correct time will be recorded, as the system does now, but it never gets displayed.
RCMB
RCMB
> I am confused on the "isn't valid java" because it certainly works in displaying the information.
But there aren't enough closing braces...
<td><%=dt.format(the.Rider (getArriva lTime())%> </td>
.......................... ....^..... .........^ .......... .......... ...^
3 opening ones...
<td><%=dt.format(the.Rider (getArriva lTime())%> </td>
.......................... .......... .......... .......... .......... ......^^
2 closing ones...
plus.. how is:
<td><%= dt.format( Vector( getArrivalTime() ) %></td>
supposed to work? (which is pseudocode as to what your function is trying to do) Maybe I am just getting confused though... sorry if this is true
Back to my own SQL hell for me ;-)
Good luck!
Tim
But there aren't enough closing braces...
<td><%=dt.format(the.Rider
..........................
3 opening ones...
<td><%=dt.format(the.Rider
..........................
2 closing ones...
plus.. how is:
<td><%= dt.format( Vector( getArrivalTime() ) %></td>
supposed to work? (which is pseudocode as to what your function is trying to do) Maybe I am just getting confused though... sorry if this is true
Back to my own SQL hell for me ;-)
Good luck!
Tim
Hi rcmb,
It seems to me that there is a problem in your conversion.
> Date tmpArrivalTime = ConvertDate.SqlDateToUtilD ate(rs.get Date("arri val_time") );
Btw, why are you doing a conversion? java.sql.Date extends java.util.Date so there is no need to convert.
What is the field type in the database for the arrival_time? If it is DATE, then that is where the problem is as that data type only stores a date, no time.
Consider using TIMESTAMP instead. SQL Server's DATETIME is a bad choice as it is SQL Server specific.
Cheers!
\tt
It seems to me that there is a problem in your conversion.
> Date tmpArrivalTime = ConvertDate.SqlDateToUtilD
Btw, why are you doing a conversion? java.sql.Date extends java.util.Date so there is no need to convert.
What is the field type in the database for the arrival_time? If it is DATE, then that is where the problem is as that data type only stores a date, no time.
Consider using TIMESTAMP instead. SQL Server's DATETIME is a bad choice as it is SQL Server specific.
Cheers!
\tt
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
getTimestamp was the answer. I did not need to convert anything else.
Thanks for the help.
RCMB
Thanks for the help.
RCMB
:)
How you read it from the database? And what type is the column in the database?