Objective-C String(yyyy-mm-dd)到NSDate

问题描述 投票:2回答:3

我的应用程序是一个JSON代码,涉及字符串类型的日期。 (如“2011-10-01”)。我想知道如何将其转换为NSDate?它需要以不同的时间格式显示,例如“2011年10月1日”。

恩。此代码不起作用:

   NSString *date1 = @"2010-11-12";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-MMMM-dd"];
    NSDate *date2 = [dateFormat dateFromString:date1];
    NSString *strdate = [dateFormat stringFromDate:date2];
iphone objective-c ios date ios5
3个回答
15
投票

正如Tug在his blog post on the subject写道:

Objective-C和iOS SDK提供了一个类来帮助格式化日期(编组和解组),这个类是NSDateFormatter。毫不奇怪,NSDateFormatter使用Unicode Date Format模式。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:publicationDate ];
[dateFormatter release];

其中publicationDate在这种情况下是NSString。


2
投票

使用NSDateFormatter。适当的方法是dateFromString:。看看文档:)


1
投票

你可以试试这个

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];

[df setDateFormat:@"dd MM yyyy"];    

NSString *todayString = [df stringFromDate:[NSDate date]];

NSDate *someDate=[NSDate date];

NSString *targetDateString = [df stringFromDate:someDate];

NSLog(@"date:%@",targetDateString);
© www.soinside.com 2019 - 2024. All rights reserved.