ios - 从 Objective-C 中的字符串获取日期

标签 ios objective-c nsdate nsdateformatter

我必须从字符串中获取日期,此处字符串的格式为“Monday 02,Dec 2013”​​,我必须将其转换为“2013-12-2”。我使用了以下代码,但我得到了错误的输出:

-(void)dateSelectedInPickerView:(NSString *)dateSelected{

    NSDateFormatter *dateFormatterForGettingDate = [[NSDateFormatter alloc] init];
    [dateFormatterForGettingDate setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

    // Parse the string representation of the date i.e Monday 2,Dec 2013

    NSDate *dateFromStr = [dateFormatter dateFromString:dateSelected];
    NSLog(@"date selected  : %@",dateFromStr);

    NSDateFormatter *tempFormatter=[[NSDateFormatter alloc]init];
    [tempFormatter setDateFormat:@"YYYY-MM-dd"];

    self.reservationDateSelected=[tempFormatter stringFromDate:dateFromStr];
    NSLog(@"date Selected : %@",self.reservationDateSelected);
}

最佳答案

试试这个,它适用于 Monday 02,Dec 2013:

-(void)dateSelectedInPickerView:(NSString *)dateSelected{

NSDateFormatter *dateFormatterForGettingDate = [[NSDateFormatter alloc] init];
[dateFormatterForGettingDate setDateFormat:@"EEEE dd,MMM yyyy"];
[dateFormatterForGettingDate setLocale:[NSLocale localeWithLocaleIdentifier:@"EN"]];

// Parse the string representation of the date i.e Monday 2,Dec 2013

NSDate *dateFromStr = [dateFormatterForGettingDate dateFromString:dateSelected];
NSLog(@"date selected  : %@", [dateFromStr descriptionWithLocale:[NSLocale currentLocale]]);
NSDateFormatter *tempFormatter=[[NSDateFormatter alloc]init];
[tempFormatter setDateFormat:@"yyyy-MM-dd"];

self.reservationDateSelected=[tempFormatter stringFromDate:dateFromStr];
NSLog(@"date Selected : %@",self.reservationDateSelected);

}

Read this, if want to know more about Date Format Patterns ;-)

关于ios - 从 Objective-C 中的字符串获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20245484/

相关文章:

ios - 如何在 iPhone 设备上使用 AVAudioSessionCategoryMultiRoute?

android - 是否可以制作一个在锁定屏幕上显示信息的 Android/iPhone 应用程序?

javascript - 如何将图像从 native react 发送到 native 模块?

iphone - 按对象方法的结果对NSArray进行排序

iphone - NSInvalidArgumentException,原因 : 'Invalid type in JSON write (__NSDate)'

objective-c - 识别用户手势的路径

iphone - 在 iOS 上查看大型 PDF 的最佳方式是什么?

ios - NSDateFormatter dateFromString 格式为 'hh:mm a' 返回 nil

iOS XMPPFramework 不发送状态

objective-c - 同一日期的 NSDate 和 NSDateComponent 值之间的差异