1

Or, maybe you know a better approach how to solve this problem. I get dates in the format of "YYYY—MM-DD HH:MM:SS" and need to calculate time difference between now then in approximate increments: 1 minute ago, 1 hour ago, etc.

Any pointers much appreciated :)

5

3 Answers 3

3

Have a look at the SimpleDateFormat.

You can define your pattern and parse it into a Java Date Object:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = format.parse("your string goes here"); long timestamp = date.getTime(); 

The first line defines the SimpleDateFormat (can also be static if you reuse it a lot) The second line parses your input The third line converts it into milliseconds.

Sign up to request clarification or add additional context in comments.

1 Comment

works great with a slight modification to "yyyy-MM-dd hh:mm:ss". Thanks a lot!
1

First you need to parse your date string to a Date and then get the timestamp from that:

final SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); final String myDateString = "someDateString"; final Date date = dateFormat.parse(myDateString); final long timestamp = date.getTime(); 

Have a look at the SimpleDateFormat javadocs for information on which format string to use.

Comments

0

You need to convert your string into java.util.Date with the assistance of SimpleDateFormat (for examples see - https://stackoverflow.com/search?q=simpledateformat+%5Bjava%5D) and then get the number of milliseconds since January 1, 1970, 00:00:00 GMT.

Date dt = new Date(); long unixTimeStamp = dt.getTime(); 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.