0

I am using this code and got date (full date) and time in 2 different labels but i want month, date, year and time in different labels:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.picker addTarget:self action:@selector(datePickerChanged:) forControlEvents:UIControlEventValueChanged];

- (void)datePickerChanged:(UIDatePicker *)datePicker
{
    NSLocale *en_US_POSIX = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
    assert(en_US_POSIX != nil);


    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setLocale:en_US_POSIX];
    [dateFormatter setDateFormat:@"dd-MM-yyyy"];
    NSDate *dateFromString = [[NSDate alloc] init];
    //    dateFromString = [dateFormatter dateFromString:curDate];
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MMMM d yyyy"];
    NSString *theDate = [dateFormat stringFromDate:dateFromString];
    _lbl.text = theDate;



    NSDate *currentTime = [NSDate date];
    [dateFormatter setDateFormat:@"hh mm"];
     NSString *resultString = [dateFormatter stringFromDate: currentTime];
     _lbl3.text = resultString;

}

THANKS in advance

dev
  • 1,343
  • 2
  • 19
  • 40

1 Answers1

0

You need to use NSDateComponents. Here's a simple example

NSDate *dateToCheck = [NSDate date];

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];

// Extract date components into components
NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:dateToCheck];

NSString *labelDate     = [NSString stringWithFormat:@"%d", (int)components.day];
NSString *labelMonth    = [NSString stringWithFormat:@"%d", (int)components.month];
NSString *labelYear     = [NSString stringWithFormat:@"%d", (int)components.year];

NSLog(@"%@, %@, %@", labelDate, labelMonth, labelYear);
Russell
  • 5,436
  • 2
  • 19
  • 27