Solved

Convert date string to miliseconds timestamp

Posted on 2006-07-05
10
1,835 Views
Last Modified: 2011-10-03
I have a string in the format "yyyy-MM-dd'T'HH:mm:ssZ"
It will look like this 2006-07-05T23:43:12+02:00

i want this converted to a miliseconds timestamp since 1970 1. januar GMT00:00 etc..

anyone know how??
0
Comment
Question by:dreamer81
  • 3
  • 2
  • 2
  • +1
10 Comments
 
LVL 92

Accepted Solution

by:
objects earned 168 total points
ID: 17041503
something like:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Date d = sdf.parse(s);
long milli = d.getTime();

0
 
LVL 92

Expert Comment

by:objects
ID: 17041505
don't think u need those quotes

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ssZ");
0
 
LVL 1

Author Comment

by:dreamer81
ID: 17041554
If I dont put the quotes there i get this
java.lang.IllegalArgumentException: Illegal pattern character 'T'


If I put the quotes there i get
java.text.ParseException: Unparseable date: "2006-07-05T13:17:16+02:00"
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 35

Expert Comment

by:girionis
ID: 17041833
Hi dreamer81

you could try

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'+02:00'");
    Date d = sdf.parse(s);
    long milli = d.getTime();

Cheers
0
 
LVL 35

Expert Comment

by:girionis
ID: 17041866
You should add 2*60*60*1000 to the result since it will leave out the 2 hours.
0
 
LVL 1

Author Comment

by:dreamer81
ID: 17042021
Hi girionis,
that seems to work, but it is not always in the second timezone?? This stuff is for a ship, and therefor the timezone is very important?
0
 
LVL 35

Assisted Solution

by:girionis
girionis earned 166 total points
ID: 17042108
The problem is the ":" in the timezone therefore you cannot apply the letter "Z" in the SimpleDateFormat pattern. Try the folliowing which gets rid of the lst ":"

    String s = "2006-07-05T23:43:12+02:00";
    int index = s.lastIndexOf(":");
    s = s.substring(0, index) + s.substring(index+1, s.length());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    Date d = sdf.parse(s);
    long milli = d.getTime();
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 166 total points
ID: 17044250
You can ignore the timezone info - a Date has no timezone data associated with it:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

That will rid you of your parse error
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How to parse custom JSON to POJO java 4 72
simple java question 3 55
github account with ecipse 1 47
How to convert from xls to xlsx using java 7 37
INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …

774 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