NSDateFormatter无法在TextField中工作

时间:2013-09-17 16:31:58

标签: ios nsdate nsdateformatter

好的,我知道我错过了什么,但我不知道是什么。

我的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;

}

3 个答案:

答案 0 :(得分:1)

这将只为您提供日期

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

根据您的IBAction方法对您的代码进行调整

答案 1 :(得分: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中的日期格式进行调整,轻松获得所需的格式。

答案 2 :(得分:0)

如果您只想要这一天为什么不将日期格式设置为“dd”,则可以节省分隔日期字符串组件的需要。

-(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];
}