96 votes

Obtenir la date actuelle en millisecondes

Quelqu’un peut-il me donner une idée de la façon d’obtenir la date actuelle en millisecondes?

62voto

wileymab Points 149

Casting le NSTimeInterval directement à un long débordered pour moi, donc au lieu de cela, j’ai dû caster à un long long long.

Le résultat est un horodatage à 13 chiffres comme sous Unix.

10voto

Eimantas Points 29052
NSTimeInterval milisecondedDate = ([[NSDate date] timeIntervalSince1970] * 1000);

7voto

Siamaster Points 547
extension NSDate {

    func toMillis() -> NSNumber {
        return NSNumber(longLong:Int64(timeIntervalSince1970 * 1000))
    }

    static func fromMillis(millis: NSNumber?) -> NSDate? {
        return millis.map() { number in NSDate(timeIntervalSince1970: Double(number) / 1000)}
    }

    static func currentTimeInMillis() -> NSNumber {
        return NSDate().toMillis()
    }
}

7voto

JavaZava Points 53

Vous pouvez simplement faire ceci:

cela retournera une valeur en millisecondes, donc si vous multipliez la valeur résultante par 1000 (comme suggéré mon Eimantas), vous dépasserez le type long et cela entraînera une valeur négative.

Par exemple, si j’exécute ce code maintenant, cela se traduira par

et

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X