Note that there are some explanatory texts on larger screens.

plurals
  1. POdate conversion to string xcode
    primarykey
    data
    text
    <p>I'm developing an app which displays start date and end date, but I'm having an issue with date displayed on textfield</p> <p>everything works fine here: <img src="https://s14.postimage.org/gwnh91drz/Captura_de_pantalla_2013_01_09_a_la_s_17_12_13.png" alt="screenshot"></p> <p>but when I turn to December 30 2012 in output you can read that says 2012 (Hardcoded) but in textfield it writes 2013 (formatted):</p> <p><img src="https://s2.postimage.org/5wkt5a8nb/Captura_de_pantalla_2013_01_09_a_la_s_17_12_44.png" alt="screenshot"></p> <p>happens the same thing if I try using "All day" option:</p> <p><img src="https://s14.postimage.org/gbcr1j3sv/Captura_de_pantalla_2013_01_09_a_la_s_17_13_42.png" alt="screenshot"></p> <p>gonna share my app code as well for making things easier </p> <pre><code>#import "StartEndEventVC.h" #import "visitVC.h" #import "Functions.h" @interface StartEndEventVC () { NSDate *date; NSDateFormatter *df; NSString *selectedCell; } @property (nonatomic, strong) Functions *funciones; @end @implementation StartEndEventVC @synthesize funciones = _funciones; @synthesize datePicker = _datePicker, SwitchDate = _SwitchDate, fecFinDateSE = _fecFinDateSE, fecInicioDateSE = _fecInicioDateSE; #pragma mark *** Common methods *** - (void)viewDidLoad { [super viewDidLoad]; //Datepicker initial settings self.datePicker.timeZone = [NSTimeZone localTimeZone]; self.datePicker.locale = [NSLocale currentLocale]; self.datePicker.calendar = [NSCalendar currentCalendar]; //Date format initial settings df = [NSDateFormatter new]; [df setDateFormat:@"EE, dd MMM YYYY HH:mm a"]; [df setTimeZone:[NSTimeZone localTimeZone]]; //initial cell to interact with datepicker selectedCell = @"startDate"; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(didBack:)]; } -(void)estableceFechaCamposTexto{ self.fecInicioDateSE = [[NSDate alloc]init]; self.fecFinDateSE = [[NSDate alloc]init]; self.fecInicioDateSE = [NSDate date]; self.fecFinDateSE = [self.fecInicioDateSE dateByAddingTimeInterval:60*60]; self.startDateLabel.text = [df stringFromDate:self.fecInicioDateSE]; self.endDateLabel.text = [df stringFromDate:self.fecFinDateSE]; } -(void)viewDidAppear:(BOOL)animated{ if ((self.fecInicioDateSE == nil) || (self.fecFinDateSE == nil)) [self estableceFechaCamposTexto]; self.startDateLabel.text = [df stringFromDate:self.fecInicioDateSE]; self.endDateLabel.text = [df stringFromDate:self.fecFinDateSE]; } -(Functions *)funciones{ if (!_funciones) _funciones = [[Functions alloc]init]; return _funciones; } -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if ([segue.identifier isEqualToString:@"doneStartEnd"]) { [segue.destinationViewController setFecInicioDateV: self.fecInicioDateSE]; [segue.destinationViewController setFecFinDateV: self.fecFinDateSE]; NSLog(@"fecha inicio StartEvent: %@", self.fecInicioDateSE); NSLog(@"fecha fin StartEvent: %@", self.fecFinDateSE); } } #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { switch (indexPath.row) { case 0: selectedCell = @"startDate"; self.datePicker.date = self.fecInicioDateSE; break; case 1: selectedCell = @"endDate"; self.datePicker.date = self.fecFinDateSE; default: break; } } #pragma mark - #pragma mark *** Custom methods *** -(void)comparaFechaInicio{ if ([self.fecInicioDateSE timeIntervalSinceDate:self.fecFinDateSE] &gt;= 0) { if (self.SwitchDate.on) self.fecFinDateSE = [self.fecInicioDateSE dateByAddingTimeInterval:60*60*24]; else if(!(self.SwitchDate.on)) self.fecFinDateSE = [self.fecInicioDateSE dateByAddingTimeInterval:60*60]; } self.startDateLabel.text = [df stringFromDate:self.fecInicioDateSE]; self.endDateLabel.text = [df stringFromDate:self.fecFinDateSE]; NSLog(@"Hardcoded date: %@", self.fecInicioDateSE); NSLog(@"formatted date: %@", [df stringFromDate:self.fecFinDateSE]); } - (void) didBack:(id)sender { [self.navigationController popViewControllerAnimated:YES]; } #pragma mark - #pragma mark *** Button actions *** -(IBAction)adjustDate:(id)sender{ if ([selectedCell isEqualToString:@"startDate"]){ self.fecInicioDateSE = [self.datePicker date]; [self comparaFechaInicio]; } else if ([selectedCell isEqualToString:@"endDate"]){ self.fecFinDateSE = [self.datePicker date]; self.endDateLabel.text = [df stringFromDate:self.datePicker.date]; } } - (IBAction)saveChanges:(id)sender { [self comparaFechaInicio]; [self performSegueWithIdentifier:@"doneStartEnd" sender:self]; } -(IBAction)changeDateType:(id)sender{ if (self.SwitchDate.on){ self.datePicker.datePickerMode = UIDatePickerModeDate; [df setDateFormat:@"EE, dd MMM YYYY"]; } else{ self.datePicker.datePickerMode = UIDatePickerModeDateAndTime; [df setDateFormat: @"EE, dd MMM YYYY HH:mm a"]; } [self comparaFechaInicio]; } #pragma mark - @end </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload