NSDate格式化程序在 TextField 中不起作用



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

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

}

这只会给你日期

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

IBAction 方法调整此代码

只需在IBAction中使用NSDateFormatter

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
NSDate *dateSelected = [datepick date];
personMonthdayTextField.text = [dateFormatter stringFromDate:dateSelected];

您还可以在Apple iOS SDK中调整日期给定的格式,轻松获得所需的格式。

如果你只想要一天,为什么不将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];
}

最新更新