首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSDate返回值将字符串转换为NSDateFormatter (一年差)

使用NSDate返回值将字符串转换为NSDateFormatter (一年差)
EN

Stack Overflow用户
提问于 2012-12-07 07:19:35
回答 2查看 544关注 0票数 1

我有一个UTC格式的字符串日期:

"2012-11-20T05:23:02.34“

现在我想要UTC NSDate对象.我实现了这个功能。

代码语言:javascript
复制
+ (NSDate *)utcDateFromString:(NSString *)string withFormat:(NSString *)format {
    NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
    inputFormatter.timeZone =[NSTimeZone timeZoneWithAbbreviation:@"UTC"];
    [inputFormatter setDateFormat:format];
    NSDate *date = [inputFormatter dateFromString:string];
    [inputFormatter release];
    return date;
}

像这样叫它..。

代码语言:javascript
复制
NSDate* submittedDate =[NSDate utcDateFromString:submittedDateString withFormat:@"YYYY-MM-dd'T'HH:mm:ss.SS"];

但这将返回NSDate描述如下..

2011-11-20 05:23:02 +0000

如果你注意到日期上有一年的差异..。有人能解释一下为什么会这样吗..?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-07 07:46:03

在dateformmater中,使用yyyy而不是YYYY

它应该是

代码语言:javascript
复制
NSDate* submittedDate =[NSDate utcDateFromString:submittedDateString withFormat:@"yyyy-MM-dd'T'HH:mm:ss.SS"];

这将解决问题。

在下面的链接中,搜索YYYY。

4.html

它使用yyyy指定年份组件。一个常见的错误是使用YYYY。yyyy指定日历年,而YYYY指定在ISO年度周日历中使用的年份(“年份周”)。在大多数情况下,yyyy和YYYY的产量是相同的,但是它们可能有所不同。通常,您应该使用日历年。

票数 5
EN

Stack Overflow用户

发布于 2012-12-07 07:28:26

试试这种波纹管法。

代码语言:javascript
复制
-(NSDate *)getUTCFormateDate:(NSString *)localDate withFormat:(NSString *)format 
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:format];
    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
    [dateFormatter setTimeZone:timeZone];
    NSDate *date = [dateFormatter dateFromString:localDate];
    return date;        
}

像咆哮一样使用..。

代码语言:javascript
复制
    NSDate *dateHere = [[NSDate alloc]init];
    dateHere = [self getUTCFormateDate:@"2012-11-20T05:23:02.34" withFormat:@"yyyy-MM-dd'T'HH:mm:ss.SS"];
    NSLog(@"Date here %@",dateHere);

我得到的输出是日期2012-11-20 05:23:02 +0000

请看我的另一个答案,它用UTF格式返回字符串日期。

convert NSstring date to UTC dateenter link description here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13758629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档