在目标C中将NSString转换为NSDate格式

Vas*_*asu -3 iphone objective-c nsdate nsdateformatter nsdatecomponents

如何将以下字符串"10月24日,星期一美国东部时间12:30"转换为NSDateFormat.

我试过这段代码

NSDateFormatter *dateformat=[[NSDateFormatter alloc]init];
[dateformat setDateFormat:@"MM/DD/YYYY hh:mm a"];
NSDate *datefor=[dateformat dateFromString:appDelegate.appoinmentString];
[dateformat setDateFormat:@"MM-dd-yyyy hh:mm a"];
NSString *dateStr=[dateformat stringFromDate:datefor];

NSDate *datetype=[dateformat dateFromString:dateStr];
Run Code Online (Sandbox Code Playgroud)

Bha*_*vin 8

dateformatOctober 24,Monday 12:30 AM EST不正确.dateformat你的情况是正确的MMMM dd,eeee HH:mm a z.


工作守则:

NSDateFormatter *dateformat = [[NSDateFormatter alloc] init];
[dateformat setDateFormat:@"MMMM dd,eeee HH:mm a z"];
NSDate *myDate = [dateformat dateFromString:@"October 24,Monday 12:30 AM EST"];
Run Code Online (Sandbox Code Playgroud)

看一下日期格式说明符.

  1. eeee - 每周的当地日期拼写.
  2. MMMM - 月份拼写出来.
  3. dd - 没有前导零的月份日期.
  4. HH - 一天中的小时(24小时格式).
  5. mm - 小时数(前导零).
  6. z - 时区(短墙时间).