Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Help displaying time retrieved from a database field

Posted on 2004-10-15
10
Medium Priority
?
219 Views
Last Modified: 2010-03-31
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(getArrivalTime())%></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

0
Comment
Question by:rcmb
[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
  • 4
  • 2
  • 2
  • +2
10 Comments
 
LVL 20

Expert Comment

by:Venabili
ID: 12318505
Hi rcmb,
How you read it from the database? And what type is the column in the database?
0
 
LVL 12

Author Comment

by:rcmb
ID: 12318563
This is the line that actually reads from the database

Date tmpArrivalTime = ConvertDate.SqlDateToUtilDate(rs.getDate("arrival_time"));
this.setArrivalTime(tmpArrivalTime);

The column in SQL is a shortdatetime

RCMB
0
 
LVL 35

Expert Comment

by:TimYates
ID: 12318948
<td><%=dt.format(the.Rider(getArrivalTime())%></td>

isn't valid java...

what's "the.Rider" do?  And there aren't enough ')'s
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 12

Author Comment

by:rcmb
ID: 12319343
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
0
 
LVL 12

Author Comment

by:rcmb
ID: 12319385
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
0
 
LVL 35

Expert Comment

by:TimYates
ID: 12319470
> 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(getArrivalTime())%></td>
..............................^..............^.......................^

3 opening ones...

 <td><%=dt.format(the.Rider(getArrivalTime())%></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
0
 
LVL 14

Expert Comment

by:Tommy Braas
ID: 12320779
Hi rcmb,
It seems to me that there is a problem in your conversion.

> Date tmpArrivalTime = ConvertDate.SqlDateToUtilDate(rs.getDate("arrival_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
0
 
LVL 92

Accepted Solution

by:
objects earned 2000 total points
ID: 12324737
and getDate() will only return the date portion regardless of whats in the database.
use getTimestamp() instead.
0
 
LVL 12

Author Comment

by:rcmb
ID: 12324832
getTimestamp was the answer. I did not need to convert anything else.

Thanks for the help.

RCMB
0
 
LVL 92

Expert Comment

by:objects
ID: 12324838
:)
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
This video teaches viewers about errors in exception handling.
Suggested Courses

610 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