转换stringdate格式

我在这个队友中有string的date“Tue,23 Oct 2012 01:05:00 +0000” 。 现在我想将date格式转换为“ TUE OCT 23 2012 1:05 AM ”。 做这个的最好方式是什么?

NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000"; // Convert string to date object NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"]; NSDate *date = [dateFormat dateFromString:dateStr]; 

但首先

  1. 创build一个NSDateFormatter将datestring转换为一个NSDate对象。
  2. 创build第二个NSDateFormatter (或更改第一个的格式string)将NSDate转换回string。

这会有点帮助?

编辑

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; [dateFormatter setDateFormat:@"yyyy-MM-ddHH:mm:ss"]; NSDate *date = [dateFormatter dateFromString:@"2011-04-0600:28:27"]; 

使用这种方法。 将您的string传入并根据需要设置date格式。 你会得到你想要的date作为回报。

 - (NSDate *) getDateFromString:(NSString *) inputDate { NSDateFormatter *dateForm = [[NSDateFormatter alloc] init]; [dateForm setDateFormat:@"yyyy-MM-dd"]; NSDate *dateSelected = [dateForm dateFromString:inputDate]; [dateForm release]; return dateSelected; } 

希望对你有效。

================================================== =============

date格式选项如下:

现在你想要所有可以与NSDateFormatter一起使用的string格式。 这是那个

a:上午/下午

A:0〜86399999(毫秒)

c / cc:1〜7(星期几)

ccc:周日/周一/周二/周三/周四/周五/周六

cccc:周日/周一/周二/周三/周四/周五/周六

d:1〜31(0填充月份)

D:1〜366(0填充日)

e:1〜7(0填充星期几)

E〜EEE:周日/周一/周二/周三/周四/周五/周六

EEEE:周日/周一/周二/周三/周四/周五/周六

F:1〜5(0填充一周,一周的第一天=星期一)

g:朱利安日数(公元前4713年1月1日以来的天数)

G〜GGG:BC / AD(时代代号缩写)

GGGG:基督之前/ Anno Domini

h:1〜12(0填充小时(12小时))

H:0〜23(0填充时间(24小时))

k:1〜24(0填充时间(24小时)

K:0〜11(0填充时间(12小时))

L / LL:1〜12(0填充月份)

LLL:1月/ 2月/ 3月/ 4月/ 5月/ 6月/ 7月/ 8月/ 9月/ 10月/ 11月/ 12月

LLLL:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月

m:0〜59(0填充分)

M / MM:1〜12(0填充月份)

MMM:1月/ 2月/ 3月/ 4月/ 5月/ 6月/ 7月/ 8月/ 9月/ 10月/ 11月/ 12月

MMMM:1月/ 2月/ 3月/ 4月/ 5月/ 6月/ 7月/ 8月/ 9月/ 10月/ 11月/ 12月

q / qq:1〜4(0填充季度)

qqq:Q1 / Q2 / Q3 / Q4

qqqq:第一季度/第二季度/第三季度/第四季度

Q / QQ:1〜4(0填充季)

QQQ:Q1 / Q2 / Q3 / Q4

QQQQ:第一季度/第二季度/第三季度/第四季度

s:0〜59(0填充秒)

S :(圆angular秒)

你:( 0填年)

v〜vvv :(普通GMT时区缩写)

vvvv :(普通GMT时区名称)

w:1〜53(0填充周,第1周=星期日,注:从去年最后一个星期日开始,第1周)

W:1〜5(0填充星期,本周第1天=星期天)

y / yyyy:(全年)

yy / yyy:(2位数年份)

Y / YYYY :(全年,从第一周的星期天开始)

YY / YYY:(2位数年份,从第一周的星期天开始)

z〜zzz :(特定的GMT时区缩写)

zzzz :(特定的GMT时区名称)

Z:+0000(RFC 822时区)

==========================================

设置你喜欢的格式

使用此波纹pipe方法与传递您的date…

  -(NSString *)StringFromDate:(NSString *)DateLocal{ DateLocal = [self trimString:DateLocal]; NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; [dateFormatter setDateFormat:@"EEE, dd LLL yyyy hh:mm:ss Z"]; NSDate *date = [dateFormatter dateFromString: DateLocal]; NSString *tt = [dateFormatter stringFromDate:date]; NSDate *dateReturn = [dateFormatter dateFromString:tt]; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EEE LLL dd yyyy hh:mm a"]; NSString *dateString = [dateFormat stringFromDate:dateReturn]; NSLog(@"Date is HERE =====>> %@",dateString); [dateFormat release]; return dateString; }