-2

我有一个值为@“15/11/13”的字符串。我需要在 nib 文件的标签上显示相同的内容。我正在使用以下代码来显示它

NSDateFormatter * df1 = [[NSDateFormatter alloc] init];
[df1 setDateFormat:@"yyyy-mm-dd"];
[df1 setDateStyle:NSDateFormatterShortStyle];
[df1 setTimeStyle:NSDateFormatterNoStyle];
[profile1 setLastPromotionDate:[df1 dateFromString:@"11/11/13"]];

Profile1 是一个不同的类,其lastPromotonDate类型为NSDate。在 nib 文件中,我有一个出口来显示绑定到lastPromotionDate.

当我运行该应用程序时,显示的日期是印度标准时间2013 年 11 月 11 日星期一 12:00:00 AM 。

我能知道这里有什么错误吗?必须做什么才能以这种格式显示日期:2013 年 11 月 11 日

4

4 回答 4

0
NSString *str = @"15/11/13";

// here we create NSDateFormatter object for change the Format of date..

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ;

// here set format of date which is in your output date (means above str with format)

[dateFormatter setDateFormat:@"yy/mm/dd"];

// here you can fetch date from string with define format

NSDate *date = [dateFormatter dateFromString: str];

dateFormatter = [[NSDateFormatter alloc] init] ;

// here set format which you want..

[dateFormatter setDateFormat:@"dd/mm/yy"];

NSString *convertedString = [dateFormatter stringFromDate:date];

//here convert date in NSString
NSLog(@"Converted String : %@",convertedString);

rofile1.text = convertedString;
于 2013-10-30T06:24:53.010 回答
0

尝试这个:-

NSString *dateStr=@"11/11/13";
NSDateFormatter *format=[[[NSDateFormatter alloc]init]autorelease];
[format setDateFormat:@"dd/mm/yy"];
NSDate *dt=[format dateFromString:dateStr];
NSString *str=[format stringFromDate:dt];
NSLog(@"%@",str);
于 2013-10-30T06:37:55.423 回答
0

为什么不将其设置为:

NSString *str = @"15/11/13";
[label setStringValue: str];

更新:

要将此字符串转换为相同格式的 NSDate,请使用:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd/mm/yy"];
NSDate * date = [df dateFromString:str];

要从 NSDate 中取回日期的字符串值,请使用:

NSString *dateStr = [df stringFromDate: date];

您也可以使用此 dateStr 将标签文本设置为

[label setStringValue: dateStr];

或将标签绑定到“dateStr”。(不要将它绑定到 NSDate 类型的“日期”,我认为这是你出错的地方)。

为您的服务器请求使用 NSDate 类型的“日期”变量。

更新:

由于您将标签绑定到 NSDate 值,因此它会以它在 NSDate 中的方式显示完整的日期。要以您的自定义格式检索该 NSDate 的值,您需要使用 NSDateFormatter 将我们需要的 NSDate 部分以我们的格式写入 NSString。

此外,如果我们将 NSString 转换为 NSDate,这并不意味着日期格式化程序将以我们的自定义格式保存 NSDate,日期格式化程序的格式指定了我们字符串的格式,以便 NSDate 可以从我们的自定义格式中读取正确的日期细绳。但是 NSDate 将始终以自己的格式保存日期值。

于 2013-10-30T08:16:37.870 回答
0

我们在库中的对象下有一个叫做DateFormatter的东西。如果笔尖列表视图中的标签,我们可以将其拖放到文本单元格下。此数据格式化程序将日期格式转换为用于在 UI 中显示的字符串值。

于 2013-11-27T05:43:43.683 回答