使用NSDateFormatter管理日期

问题描述

| 我尝试使用NSDateFormatter获取和管理日期,但如何使其有效。 我认为这是我的第一个\“ dateFormatter \”格式不正确的问题,因为当我将第二个格式化程序与函数\“ stringFromDate \”和参数\“ [NSDate date] \”一起使用时,它的效果很好,但是当我使用我的NSDate \“ dateFromString \”时却没有。
//\"dateString\" have this format: \"2011-05-26T16:18:26Z\"
Nsstring *dateString = [[tracks objectAtIndex:0] objectForKey:@\"to-date\"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@\"EEE,MMM d,yyyy\"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
[dateFormatter release];

dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@\"EEE,yyyy\"];

//Nsstring *toDate = [dateFormatter stringFromDate:dateFromString];
Nsstring *toDate = [dateFormatter stringFromDate:[NSDate date]];
谢谢您的帮助 :)     

解决方法

当然,DateFormat与您从服务器接收到的是不同的。 尝试这个:
dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@\"yyyy-MM-dd\'T\'HH:mm:ss Z\"];
NSDate *date = [dateFormatter dateFromString:[dateString stringByReplacingOccurrencesOfString:@\"Z\" withString:@\" +0000\"]];
    ,假设
to-date
是一个字符串并且还不是NSDate,请尝试以下操作:
//\"dateString\" have this format: \"2011-05-26T16:18:26Z\"
NSString *dateString = [[tracks objectAtIndex:0] objectForKey:@\"to-date\"];
NSDate *dateFromString = [[NSDate dateFromString:dateString];
如果要以特定格式向用户显示日期,则可以使用设置
NSDateFormatter
,然后使用
stringFromDate:
获取显示给用户的字符串。如果仍然无法正确显示日历,请设置日历(我忘记了是否始终需要设置日历或是否存在默认设置)。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...