我在这个格式中的字符串中有日期"Tue, 23 Oct 2012 01:05:00 +0000"。现在我想将日期格式转换为“ TUE OCT 23 2012 1:05AM ”。做这个的最好方式是什么?
3 回答
使用此方法。将您的字符串传递给它并根据需要设置日期格式。您将得到您想要的日期作为回报。
- (NSDate *) getDateFromString:(NSString *) inputDate
{
NSDateFormatter *dateForm = [[NSDateFormatter alloc] init];
[dateForm setDateFormat:@"yyyy-MM-dd"];
NSDate *dateSelected = [dateForm dateFromString:inputDate];
[dateForm release];
return dateSelected;
}
希望对你有效。
==================================================== ==============
日期格式选项如下:
现在你想要 NSDateFormatter 可以使用的所有字符串格式。这里是
一个:上午/下午
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:在基督之前/安诺·多米尼
h: 1~12 (0 填充小时 (12hr))
H: 0~23 (0 填充小时 (24hr))
k: 1~24 (0 填充小时 (24hr)
K: 0~11 (0 填充小时 (12hr))
L/LL: 1~12 (0 填充月份)
LLL:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月
LLLL:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月
m: 0~59 (0 填充分钟)
月/月:1~12(0 填充月)
MMM:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月
MMMM:一月/二月/三月/四月/五月/六月/七月/八月/九月/十月/十一月/十二月
q/qq:1~4(0 填充季度)
QQ:Q1/Q2/Q3/Q4
qqqq:一季度/二季度/三季度/四季度
Q/QQ:1~4(0 填充季度)
QQQ:Q1/Q2/Q3/Q4
QQQQ:一季度/二季度/三季度/四季度
s: 0~59 (0 填充秒)
S:(四舍五入的亚秒)
u:(0 填充年份)
v~vvv:(通用 GMT 时区缩写)
vvvv:(通用 GMT 时区名称)
w:1~53(0 填充一周,一周的第一天 = 星期日,NB:一年的第一周从去年的最后一个星期日开始)
W:1~5(0 填充月份的星期,星期的第一天 = 星期日)
y/yyyy:(全年)
yy/yyy:(2 位数年份)
Y/YYYY:(全年,从一年中第一周的星期日开始)
YY/YYY:(2 位数年份,从一年中第一周的星期日开始)
z~zzz:(特定 GMT 时区缩写)
zzzz:(特定 GMT 时区名称)
Z:+0000(RFC 822 时区)
===========================================
随意设置格式..
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];
但首先
- 创建一个
NSDateFormatter
将日期字符串转换为NSDate
对象。 - 创建第二个
NSDateFormatter
(或更改第一个的格式字符串)以将其转换NSDate
为字符串。
这会有点帮助吗???
编辑
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"];
使用此波纹管方法传递您的日期...
-(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;
}