Есть ли простой способ получить дату? - PullRequest
0 голосов
/ 26 января 2011

Я новичок в разработке для iPhone. Я хочу установить дату по умолчанию для NSDate Object в виде строки. Я не вижу простого способа или метода ...

Я думаю, что может быть метод в NSCalender? Если есть такой метод, скажите, пожалуйста.

Заранее спасибо.

Ответы [ 5 ]

0 голосов
/ 08 июля 2013
NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];
[DateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];
[DateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; //here,you can set the date format as you need

NSDate *now = [[[NSDate alloc] init]autorelease];
NSString *theDate = [DateFormatter stringFromDate:now];

Теперь вы можете использовать строку даты. :)

0 голосов
/ 26 января 2011

Если вы хотите создать NSDate из строки, вам нужно использовать NSDateFormatter , чтобы сделать это. Важно отметить, что средство форматирования будет использовать часовой пояс текущей локали при построении даты, если вы не указали часовой пояс как часть формата. Для получения дополнительной информации о создании часовых поясов см. NSTimeZone .

Например, чтобы создать дату с использованием вездесущего формата «2011-01-16 00:00» в UTC, вы должны сделать:

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
// Only certain abbreviations are okay, like UTC. See docs for more info
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

NSDate* midnight_26_jan_2011_utc = [formatter dateFromString:@"2011-01-26 00:00"];

// this will display in your system locale
// (for me, it shows 2011-01-25 19:00 +0500 because I'm America/New_York time)
NSLog(@"date: %@", midnight_26_jan_2011_utc);
[formatter release];
0 голосов
/ 26 января 2011

Мне не совсем понятно, о чем вы спрашиваете, но для создания экземпляра объекта NSDate с текущей датой требуется одно: NSDate * myDate = [NSDate date];

Если вы говорите, что у вас есть c-строка или строка NSString, которую нужно проанализировать для инициализации объекта NSDate, это другой вопрос.

У меня есть код, размещенный здесь: Как получить столбец datetime в SQLite с целью C

, который показывает, как создавать NSDates из NSStrings, используя NSDateFormatter.

0 голосов
/ 26 января 2011
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc]init]autorelease];
[dateFormatter setDateFormat:@"yyyy-mm-dd"];
NSDate *yourDate = [dateFormatter dateFromString:@"2011-01-26"];
0 голосов
/ 26 января 2011

Редактировать: Добавлено время для форматирования строки.

Вам нужно будет взглянуть на классы NSDate и NSDateFormatter . Вот простой пример того, как их использовать:

NSString* defaultDateString = [NSString stringWithFormat:@"2011-01-22 15:30:00"];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate* defaultDate = [dateFormatter dateFromString:defaultDateString];
[dateFormatter release];

и если вы хотите получить строку с даты, вы можете просто использовать:

NSString* defaultDateString = [dateFormatter stringFromDate:defaultDate];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...