Конвертируйте дату, сохраненную в формате @ "dd-MM-гггг ЧЧ: мм: СС", в формат @ "dd MM" для удобства отображения - PullRequest
0 голосов
/ 29 декабря 2011

Я сохранил дату в формате @ "dd-MM-гггг ЧЧ: мм: СС", теперь в базе данных она отображается в любом указанном формате!Но у меня есть требование отображать дату на странице напоминания о просмотре. Поэтому я хотел бы отображать дату таким образом, чтобы видимость даты была простой на вид.

Следовательно, я хотел бы иметь дату с помощьюформат: 23 января или 19 августа и т.д.*

Заранее спасибо:)

Ответы [ 4 ]

2 голосов
/ 29 декабря 2011

Попробуйте следующий код

remin.Date = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 3)]autorelease];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:SS"];
NSDate *date = [dateFormat dateFromString:remin.Date];
[dateFormat setDateFormat:@"MMMM dd"];
NSString *dateVal = [dateFormat stringFromDate:date];
remin.Date = dateVal;
1 голос
/ 29 декабря 2011

Вот код: -

NSString *dateString = @"15-08-2011 05:12:36";
NSDateFormatter *format = [[NSDateFormatter alloc]init];
[format setDateFormat:@"dd-MM-yyyy HH:mm:SS"];
NSDate *currentDate = [format dateFromString:dateString];

[format setDateFormat:@"dd MM"];
NSString *newDateString = [format stringFromDate:currentDate];
1 голос
/ 29 декабря 2011

Перед синтаксическим анализом необходимо указать NSDateFormatter формат даты строки.

NSString *orginaleDate = [[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 3)];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];

// Set the date format as stored in the date base
[dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:SS"];
NSDate *date = [dateFormat dateFromString:remin.Date];

// set the date format for the representation 
[dateFormat setDateFormat:@"MMMM-dd"];
NSString *dateVal = [dateFormat stringFromDate:date];
remin.Date = dateVal;

[orginaleDate release], orginaleDate =nil;

Возможно, вы также захотите сохранить часовой пояс в базе данных, но это зависит от требований приложений. Для добавления времени используйте этот формат dd-MM-yyyy HH:mm:SS z

1 голос
/ 29 декабря 2011

Измените свой код как,

remin.Date = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 3)]autorelease];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"dd-MM-yyyy HH:mm:SS"];
NSDate *date = [dateFormat dateFromString:remin.Date];
[dateFormat setDateFormat:@"dd-MM"];
NSString *dateVal = [dateFormat stringFromDate:date];
remin.Date = dateVal;
...