Question

Je l'ai trouvé ceci:

Fonction

: http://github.com/timburks /NuMongoDB/blob/master/src/bson.c#L128 octets: http://github.com/timburks/NuMongoDB/ blob / maître / src / platform_hacks.h # L55 struct: http://github.com/timburks/NuMongoDB/ blob / maître / src / bson.h # L70

Mais comment pourrais-je utiliser pour mon application iPhone qui obtient l'OID comme une chaîne à partir du serveur et que vous souhaitez extraire l'horodatage created_at? Voilà ce que j'ai jusqu'à présent. Il est une méthode Objective-C, mais je peux mettre le code c dans mon fichier .m Objective-c?

- timeFromBsonOid:(NSString *)oid {
    time_t out;
    memcpy(&out, oid, 4);
    return out;
}

Matt

Était-ce utile?

La solution

Vous pouvez convertir la chaîne OID à NSDate comme ceci:

NSString *asd = @"4c8f695bdaf9856dbe000008";
long result;
BOOL success = [[NSScanner scannerWithString:[asd substringToIndex:8]] scanHexLongLong:&result];
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:result];

Autres conseils

La réponse de Kossi est un peu obsolète. Assurez-vous d'utiliser unsigned long long au lieu que sinon vous remarquerez peut-être un comportement étrange et se bloque sur les appareils 32bits et 64bits.

NSString *asd = @"4c8f695bdaf9856dbe000008";
unsigned long long result;
BOOL success = [[NSScanner scannerWithString:[asd substringToIndex:8]] scanHexLongLong:&result];
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:result];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top