Часть формата NSDateFormatter
s может быть переопределена пользовательскими настройками: в частности, выбором AM / PM по сравнению с 24-часовым временем.
Это можно решить, установив языковой стандарт форматера.(Примечание: это то, что вы должны делать только в подобных ситуациях, чтобы создавать строки, которые должны быть согласованы между локалями и не будут отображаться пользователю).
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[digitsOnlyFormatter setLocale:enUSPOSIXLocale];
PS, если вы хотите строкучтобы быть сделанным относительно того же часового пояса, вы также должны установить часовой пояс форматера:
[digitsOnlyFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];