web-dev-qa-db-fra.com

Obtenir un timestamp unix à partir de Date ()

Je peux convertir un horodatage Unix en un objet Date() en plaçant la valeur long dans le constructeur Date(). Par exemple, je pourrais l’avoir sous la forme new Date(1318762128031).

Mais après cela, comment puis-je récupérer le timestamp Unix de l'objet Date()?

74
Carven

getTime() récupère les millisecondes écoulées depuis le 1er janvier 1970 transmises au constructeur. Il ne devrait pas être trop difficile d’obtenir le temps Unix (identique, mais en secondes).

79
jackrabbit

Pour obtenir un timestamp de Date(), vous devez diviser getTime() par 1000, c'est à dire. :

Date currentDate = new Date();
currentDate.getTime() / 1000;
// 1397132691

ou simplement:

long unixTime = System.currentTimeMillis() / 1000L;
36
Pedro Lobito
import Java.text.DateFormat;
import Java.text.ParseException;
import Java.text.SimpleDateFormat;
import Java.util.TimeZone;

public class Timeconversion {
    private DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH); //Specify your locale

    public long timeConversion(String time) {
        long unixTime = 0;
        dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); //Specify your timezone
        try {
            unixTime = dateFormat.parse(time).getTime();
            unixTime = unixTime / 1000;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return unixTime;
    }
}
22
bhasker

Dans Java 8, il est pratique d’utiliser les nouvelles méthodes lib date et getEpochSecond pour obtenir l’horodatage (en seconde).

Instant.now().getEpochSecond();

5
waterscar

Utilisez SimpleDateFormat class. Jetez un coup d’œil sur son javadoc: il explique comment utiliser les commutateurs de format.

0
AlexR

Je ne sais pas si vous voulez réaliser cela en js ou en Java, la manière la plus simple d'obtenir le timestampt unix (c'est le temps en secondes du 1/1/1970) est la suivante:

var myDate = new Date();
console.log(+myDate); // +myDateObject give you the unix from that date
0
elverde