Как изменить DateFormatter на timeStamp в Objective-C?

#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 .