问题
I am using an API which requires a date parameter as a number of seconds, an int
.
My problem is that I currently store this time in java.util.date
and I was wondering if there is some way to convert the java.util.date
variable to seconds so that I can fit it into the int
parameter which the API requires?
回答1:
import java.util.Date;
... long secs = (new Date().getTime())/1000; ...
Please see - http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()
回答2:
java.util.Date.getTime()
it returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object.
java.util.Date date=new Date();
System.out.println(date.getTime());
Output: 1340128712111
回答3:
Number of seconds by itself doesn't mean much. Number of seconds within the current minute? Number of seconds since 0:00:00 Janurary 1st, 1970? Number of seconds since lunch? Could you be more specific.
Put it into the API also doesn't mean much, unless you specify exactly which API you are using, and where you are attempting to put these seconds.
回答4:
Since Java 8 and onwards there's this elegant method which returns the Epoch time in seconds (seconds since 0:00:0 January 1st 1970). You can then store this value as an numeric value: a "long" in this case.
long timestamp = java.time.Instant.now().getEpochSecond();
来源:https://stackoverflow.com/questions/11106532/get-date-representation-in-seconds