Frage

Ich habe dies gefunden:

Funktion: http://github.com/timburks /NuMongoDB/blob/master/src/bson.c#L128 Bytes http://github.com/timburks/NuMongoDB/ Blob / Master / src / platform_hacks.h # L55 Struktur: http://github.com/timburks/NuMongoDB/ Blob / Master / src / bson.h # L70

Aber wie genau würde ich dies für meinen iPhone-App, die die oid als Zeichenfolge vom Server bekommt und will die created_at Zeitstempel extrahieren? Das ist, was ich bisher haben. Es ist eine Objective-C-Methode, aber ich kann setzen c Code in meiner Objective-c .m-Datei?

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

Matt

War es hilfreich?

Lösung

Sie können die oid Zeichenfolge NSDate konvertieren wie folgt aus:

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

Andere Tipps

Kossi Antwort ist ein bisschen veraltet. Stellen Sie sicher, long long unsigned zu verwenden, anstatt wie sonst können Sie ungewöhnliches Verhalten bemerken und stürzt auf 32-Bit und 64-Bit-Geräte.

NSString *asd = @"4c8f695bdaf9856dbe000008";
unsigned long long result;
BOOL success = [[NSScanner scannerWithString:[asd substringToIndex:8]] scanHexLongLong:&result];
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:result];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top