Question

I have this code which works well but I don't know if it is the correct way to call stringWithFormat because in the documentation %d is for int and I'm passing a long:

    long seconds = (long)[[NSDate date]timeIntervalSince1970];
    NSString *unixTimestamp = [NSString stringWithFormat:@"date=%d", seconds];

Thanks in advance!

Was it helpful?

Solution

Try %ld:

 NSString *unixTimestamp = [NSString stringWithFormat:@"date=%ld", seconds];

Abstract from printf docs (NSString's stringWithFormat format follows the same standard as printf function):

l (ell)
Specifies that a following d, i, o, u, x, or X conversion specifier applies to a long or unsigned long argument

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top