0

好的,我知道我错过了一些东西,但我不知道是什么。

我的 NSDateFormmater 出现在带有今天日期的 textField(personMonthdayTextField) 中,但是当我选择 datePicker 并将其输入到 textField 中时,它会出现带有我不需要的小时、分钟、秒的标准格式。

任何帮助表示赞赏。

谢谢

-(void)viewDidLoad {
NSDate* date = [NSDate date];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MMM/yyyy"];
NSString* str = [formatter stringFromDate:date];
NSLog(@"%@",str);
NSMutableArray *Arr=[str componentsSeparatedByString:@" "];
personMonthdayTextField.text=[Arr objectAtIndex:0];

}

- (IBAction)done:(id)sender {


NSDate *dateSelected = [datepick date];
NSString *dateStamp = [[NSString alloc]initWithFormat:@"%@", dateSelected];
personMonthdayTextField.text = dateStamp;

}

4

3 回答 3

1

只用NSDateFormatter在你的IBAction

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];

NSDate *dateSelected = [datepick date];

personMonthdayTextField.text = [dateFormatter stringFromDate:dateSelected];

您还可以在 Apple ios sdk 中调整日期格式,轻松获得所需的格式。

于 2013-09-17T16:59:32.547 回答
1

这只会给你日期

  NSDateFormatter *df = [[NSDateFormatter alloc] init];
 df.dateStyle = NSDateFormatterMediumStyle;
 datelabel.text = [NSString stringWithFormat:@"%@",
              [df stringFromDate:[NSDate date]]];

在您的 IBAction 方法下为您的代码调整它

于 2013-09-17T16:42:23.777 回答
0

如果您只想要一天,为什么不将 dateFormat 设置为“dd”,这样可以省去分隔 dateString 组件的需要。

-(void)viewDidLoad {
    NSDate* date = [NSDate date];
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd"];
    personMonthdayTextField.text = [formatter stringFromDate:date];
}

- (IBAction)done:(id)sender {

    NSDate *dateSelected = [datepick date];
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd"];
    personMonthdayTextField.text = [formatter stringFromDate:date];
}
于 2013-09-17T17:27:00.277 回答