?
Solved

Getting Microseconds from Date

Posted on 2006-06-14
16
Medium Priority
?
765 Views
Last Modified: 2008-01-09
Hi, we hold timestamps in our datavase in the following format: 2004-02-13:10:28:45.530374, trouble is that when we try to use  simpleDateFormat with the format yyyy-MM-dd hh:mm:ss.SSSSSS it doesnt work since it only goes upto milliseconds not microseconds.

Is there a way I can get the microseconds?
0
Comment
Question by:Chriseybaby
[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
  • 3
  • 2
  • +3
16 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 16901116
Microseconds are not supported in Java dates
0
 
LVL 14

Expert Comment

by:StillUnAware
ID: 16901120
That's a good one, 0 minutes in answering a question :)
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16901200
The best I know is System.nanoTime () ; but that's nanoseconds.... the Date class does not support micro-seconds.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 4

Accepted Solution

by:
Yagantappa earned 1000 total points
ID: 16901227
You can make use of java.sql.Timestamp.
0
 

Author Comment

by:Chriseybaby
ID: 16903319
Thanks for your help, looks like its going to have to be the timestamp, very annoying tho...
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 16903537
>>looks like its going to have to be the timestamp

That won't work either. Timestamp only supports milliseconds
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16910404
TimeStamp has a method called getNanos () but that wouldn't get the microsecond component.
0
 
LVL 14

Expert Comment

by:StillUnAware
ID: 16911057
What are You talking about, not a single OS internally can count the time so exactly, I guess the shortest period of time which can be accessed is milisecond.
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16911135
Well I haven't used the getNanos () method of TimeStamp but probably that is what Yagantappa meant. In any case, like I said - it will not solve the problem because whether it gets the nanoseconds or not, it cannot get the microseconds. System.nanoTime () says "Returns the current value of the most precise available system timer, in nanoseconds".
0
 
LVL 4

Expert Comment

by:Yagantappa
ID: 16912338
Not all databases support micro seconds. Oracle 10g support micro seconds. I tried the following program and it worked fine

Table in Oracle database
CREATE TABLE TEST_TIMESTAMP (
    T1      TIMESTAMP(6) NULL
    )
GO

Here is the test java code and its output

        Timestamp ts = new Timestamp(106, 06, 10, 10, 10, 10, 213286789);
        System.out.println("ts = " + ts);
        Class.forName ("oracle.jdbc.driver.OracleDriver");
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@xxx.xxx.xxx.xxx:xxxx:xxxX", "xxxxxx", "xxxxxx");
        Statement stmt = conn.createStatement();
        PreparedStatement p = conn.prepareStatement("update test_timestamp set t1 = ?");
        p.setTimestamp(1, ts);
        p.execute();
        ResultSet rs = stmt.executeQuery("select * from test_timestamp");
        while (rs.next())
        {
            System.out.println("column 1 = " + rs.getTimestamp(1));
        }

Output
--------
ts = 2006-07-10 10:10:10.213286789
column 1 = 2006-07-10 10:10:10.213287
column 1 = 2006-07-10 10:10:10.213287
column 1 = 2006-07-10 10:10:10.213287
column 1 = 2006-07-10 10:10:10.213287
column 1 = 2006-07-10 10:10:10.213287
0
 

Author Comment

by:Chriseybaby
ID: 16912368
I havent tried using it yet, just hoped it would work.

The problem is, after I get the data from the data base I lose the last little bit of the timestamp. Therefore when I try to compare the 2 they are different. I could use a like query but would prefer to find a solution.

Maybe if I save it as a string I might be able to get around it...
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 16912402
>>I tried the following program and it worked fine

That's all OK but Chriseybaby's question specifies that s/he is using it in conjunction with Date. That's not possible, as Date only supports ms
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16912408
>> I havent tried using it yet, just hoped it would work.

You shouldn't close the question until you've confirmed that the answer is correct :) many people will have many suggestions and you can't say which one is going to work until you try them. Anyway, if this one does, its great :)
0
 
LVL 92

Expert Comment

by:objects
ID: 16916529
Timestamp should work fine.
If the column in the database is a timestamp that supports the accuracy you need, then use getTimestamp() to retrieve it.
If its stored as a string then split the string (d.split("\\.")) when you extract it and parse the regular date/time (2004-02-13:10:28:45) with SDF and store it in a Timestamp, and parse the rest (530374) as an int and set the nanoseconds on your parsed Timestamp using setNanos() method.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

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

Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
This video teaches viewers about errors in exception handling.
Suggested Courses
Course of the Month14 days, 4 hours left to enroll

801 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