#objective-c #timestamp
#objective-c #временная метка
Вопрос:
Например, я хочу изменить объект NSDateFormatter, подобный этому «ГГГГ-ММ-дд ЧЧ: мм», на отметку времени, у кого-нибудь есть хорошая идея?
Ответ №1:
Сначала измените строку даты на NSDate, затем используйте timeIntervalSince1970, чтобы получить временную метку.
NSString *dateString = @"2016-10-12 10:30";
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *formattedDate = [inputFormatter dateFromString: dateString];
NSTimeInterval timestamp = [formattedDate timeIntervalSince1970];
Комментарии:
1. Не используйте
YYYY
для года, используйтеyyyy
.
Ответ №2:
Используйте timeIntervalSince1970. Попробуйте:
NSString *mydateString = @"2010-7-5 1:39";
NSDateFormatter *Df = [[NSDateFormatter alloc] init];
[Df setDateFormat:@"yyyy-MM-dd HH:mm"];
[Df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSDate *formattedDate = [Df dateFromString: mydateString];
NSTimeInterval mYtimestamp = [formattedDate timeIntervalSince1970];
NSLog(@"Hello my time: %f--",mYtimestamp);
// To get it back:
NSTimeInterval _interval=mYtimestamp;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *formatter= [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"date again-:%@",dateString);
Комментарии:
1. Не используйте
YYYY
для года, используйтеyyyy
.