Im trying to convert a timestamp to a human readable date and time. I tried:
String dateSt = 1386580621268;
Log.i("*****", "date st is = "+dateSt);
long unixSeconds = Long.parseLong(dateSt);
Log.i("*******", "unix seconds is = "+unixSeconds);
Date date = new Date(unixSeconds*1000L); // *1000 is to convert seconds to milliseconds
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); // the format of your date
String formattedDate = sdf.format(date);
System.out.println(formattedDate);
The expected result is to be 09-12-2013
, however i get 28-12-45908
. The above example can be found at: Convert Unix timestamp to date java, answer by David Hofmann
1386580621268
is not a unix timestamp i.e. seconds since epoch for 9-12-2013 but milliseconds since epoch. Remove the *1000L
or divide the input by 1000.